AEGIS

빌드 운영에서 무엇이 힘든가

빌드가 실패한 아침

여러 팀이 만든 코드를 합쳐 빌드(소스 코드를 실행할 수 있는 결과물로 만드는 작업)하는 조직에서는 밤마다 통합 빌드를 돌립니다. 빌드가 실패한 날 아침, CM(Configuration Management, 형상관리) 담당자는 보통 이런 순서로 움직입니다.

그림 2. 지금의 빌드 실패 대응 — 여러 도구를 사람이 직접 잇습니다
그림 2. 지금의 빌드 실패 대응 — 여러 도구를 사람이 직접 잇습니다

빌드 서버(Jenkins)에서 실패를 확인하고, 수천 줄의 로그에서 오류를 찾고, 소스 저장소(Gerrit)에서 밤사이 들어온 커밋(개발자가 올린 소스 변경 한 묶음)과 대조하고, 작성자에게 연락하고, 문제 커밋을 뺀 채로 다시 빌드하고, 결정 경위를 메일이나 문서로 따로 정리합니다.

왜 어려운가

AEGIS(Autonomous Engine for Governed Integration Services — 통제된 통합 서비스를 위한 자율 실행 엔진)는 이 일을 없애는 것이 아니라 한 화면과 한 흐름으로 모으고, 결정만 사람에게 남기고, 경위를 자동으로 기록하는 것을 목표로 합니다.