나는 thoughtworks go를 쓴다만 이게 니가 보통 명령을 커스텀으로 만들어야 된다.

내가 회사에서 세팅한건 메인 깃 리포에 푸시하는 순간 go 서버가 가상머신 시작, 체크아웃, 빌드, 테스트, 가상머신 종료. 뭐 이런걸 한다.

그게 끝나면 나는 필요에 따라 커맨드 라인 명령 ansible로 아마존 인스턴스 생성, dns 등록, 각종 필요 패키지 빌드 및 설치, go에서 빌드한 서버 설치, 각종 환경파일 설치, 서비스 등록 및 재시작 등 한다. 대략 10분 정도 걸리더라.

일단 저거 끝나면 수동으로 로드 밸런스 세팅 바꿔서 트래픽 반반씩 나눠서 신버전 정상 작동 확인 후, 구버전 종료.

대락 20분이면 서비스 단절시간 없이 새버전으로 갈아탄다.

DB 업그레이드도 프로세스 작성 중인데 이건 서비스 한 10분 정도 불가하거나, 읽기만 가능하게 한 후 바꿔치기 하는 정도로 생각하고 있다.

한줄요약: 이런건 기뮤식이 좀 배워야 할 부분