나는 thoughtworks go를 쓴다만 이게 니가 보통 명령을 커스텀으로 만들어야 된다.
내가 회사에서 세팅한건 메인 깃 리포에 푸시하는 순간 go 서버가 가상머신 시작, 체크아웃, 빌드, 테스트, 가상머신 종료. 뭐 이런걸 한다.
그게 끝나면 나는 필요에 따라 커맨드 라인 명령 ansible로 아마존 인스턴스 생성, dns 등록, 각종 필요 패키지 빌드 및 설치, go에서 빌드한 서버 설치, 각종 환경파일 설치, 서비스 등록 및 재시작 등 한다. 대략 10분 정도 걸리더라.
일단 저거 끝나면 수동으로 로드 밸런스 세팅 바꿔서 트래픽 반반씩 나눠서 신버전 정상 작동 확인 후, 구버전 종료.
대락 20분이면 서비스 단절시간 없이 새버전으로 갈아탄다.
DB 업그레이드도 프로세스 작성 중인데 이건 서비스 한 10분 정도 불가하거나, 읽기만 가능하게 한 후 바꿔치기 하는 정도로 생각하고 있다.
한줄요약: 이런건 기뮤식이 좀 배워야 할 부분
내가 회사에서 세팅한건 메인 깃 리포에 푸시하는 순간 go 서버가 가상머신 시작, 체크아웃, 빌드, 테스트, 가상머신 종료. 뭐 이런걸 한다.
그게 끝나면 나는 필요에 따라 커맨드 라인 명령 ansible로 아마존 인스턴스 생성, dns 등록, 각종 필요 패키지 빌드 및 설치, go에서 빌드한 서버 설치, 각종 환경파일 설치, 서비스 등록 및 재시작 등 한다. 대략 10분 정도 걸리더라.
일단 저거 끝나면 수동으로 로드 밸런스 세팅 바꿔서 트래픽 반반씩 나눠서 신버전 정상 작동 확인 후, 구버전 종료.
대락 20분이면 서비스 단절시간 없이 새버전으로 갈아탄다.
DB 업그레이드도 프로세스 작성 중인데 이건 서비스 한 10분 정도 불가하거나, 읽기만 가능하게 한 후 바꿔치기 하는 정도로 생각하고 있다.
한줄요약: 이런건 기뮤식이 좀 배워야 할 부분
땡큐땡큐, 난 람다함수 deploy하는것만 구현할거고, 나 혼자 구축하는거라 그렇게 크게는 안하지만, 대충 회사 크기에선 어떻게 돌아가는진 알겠군
트레비스나 젠킨스 혹시 아냐, 차이점이라던지, 혼자쓸거면 뭐가 좋은지
내가 6개월 전쯤 검토 도입해ㅆ는데 go 가 내가 쓰기엔 제일 만만해서 그거로 정함. 젠킨스 같이 세월좀 된건 기능이 복잡하고 개들이 정한ㄷ로만 써야된다. 난 모든걸 내 방식대로 함
그리고 우리 회사 구멍가게라 내가 80% 일함. 자동화는 실수없이 빨리 하려고 한거지
답변 고맙다!