AEGIS
빌드가 실패했을 때 원인을 찾고, 결정하고, 기록하는 일을 하나의 흐름으로
요점
- AEGIS(Autonomous Engine for Governed Integration Services — 통제된 통합 서비스를 위한 자율 실행 엔진)는 Gerrit·Jenkins로 소프트웨어를 빌드하는 조직을 위한 설치형 빌드 운영 서비스입니다. 빌드를 걸고, 결과를 지켜보고, 실패하면 원인 커밋 후보를 찾아 담당자에게 알리고, 담당자의 결정대로 다시 빌드하고, 그 경위를 기록하는 일을 하나의 흐름으로 묶습니다.
- AI(Artificial Intelligence, 인공지능)는 제안만 합니다. 사내 AI 모델이 실패 로그와 변경 커밋을 읽고 의심 커밋 후보와 근거를 제시하지만, 재시도·커밋 제외·취소 같은 실제 조작은 권한 있는 사람이 웹 화면에서 눌러야만 실행됩니다. AI가 스스로 실행하는 경로는 없습니다.
- 모든 결정이 기록으로 남습니다. 누가 언제 어떤 결정을 했고 어떤 커밋을 뺐는지가 고칠 수 없는 감사 기록에 남고, 위·변조는 연쇄 검증으로 찾아냅니다. 감사나 납품 검수에서 "그때 왜 그렇게 했는가"에 기록으로 답할 수 있습니다.
- 고객사 사내망 안에 설치합니다. 인터넷 없이 설치하는 배포본이 있고, AI 분석은 사내 AI 모델에 연결합니다. 외부 AI 모델을 설정하지 않으면 소스 정보와 빌드 로그를 밖으로 보내지 않는 구성이 가능합니다. AI 모델이 없어도 분석을 뺀 나머지 흐름은 운영할 수 있습니다.
- AEGIS는 완성품이 아니라 기본 틀입니다. 기본 흐름은 공급자 시험 환경에서 검증했지만, 고객마다 기존 빌드 작업·계정·메일·운영 규칙이 달라 고객 요건에 맞춘 고도화와 연동이 필요합니다. 그래서 도입은 유료 진단으로 고객 환경과 요건을 확인한 뒤 구축 여부를 함께 정하는 순서로 진행합니다. 고객 보안망에 설치한 실적은 아직 없으며, 첫 구축에서 함께 확인합니다.
AEGIS는 무엇인가
한 줄 정의
AEGIS는 Gerrit·Jenkins 기반의 빌드 운영을 사람의 승인과 감사 기록 아래 자동화하는, 고객사 사내망에 설치하는 서비스입니다.
이름에 설계 원칙이 담겨 있습니다. 빌드 운영을 자율적으로 실행(Autonomous Engine)하되, 그 실행은 승인과 감사 기록 아래 통제되며(Governed), 빌드 도구·소스 저장소·사내 계정·알림을 하나로 묶은 통합 서비스(Integration Services)라는 뜻입니다.
빌드 한 건이 흘러가는 길
AEGIS에서는 빌드 작업 한 건을 워크플로라고 부릅니다. 워크플로 하나는 다음 길을 따라갑니다.
- 빌드 시작 — 정해 둔 스케줄 시각, 소스 변경(Gerrit에 push — 변경을 올림), 웹 화면의 「빌드 요청」 버튼 세 가지로 시작합니다. Gerrit이 보내는 변경 알림을 AEGIS가 직접 받아, push 한 번으로 빌드가 시작되는 것을 시험 환경에서 확인했습니다.
- 결과·로그 수집 — Jenkins의 빌드 상태를 지켜보다가, 실패하면 실패 로그를 가져와 저장합니다. 이번 빌드에 어떤 커밋이 새로 들어왔는지(변경 내역)도 저장소별로 계산해 둡니다.
- 원인 후보 분석 — 사내 AI 모델이 연결되어 있으면 로그와 변경 커밋을 읽고 의심 커밋 순위, 근거, 권장 조치를 제시합니다. 확신이 없으면 판단을 보류합니다.
- 알림 — 담당자에게 메일과 채팅(Telegram·Slack)으로 승인 요청을 보냅니다.
- 사람의 결정 — 담당자가 웹 화면에서 근거를 확인하고 네 가지 결정 가운데 하나를 고릅니다.
- 재빌드·종결과 기록 — 결정대로 다시 빌드하거나 작업을 접고, 모든 단계를 감사 기록으로 남깁니다.
하루로 보면
운영자 매뉴얼에는 이 흐름을 실제로 돌려 화면과 응답을 그대로 옮긴 시험 사례가 있습니다. 시각만 추리면 다음과 같습니다.
담당자가 출근했을 때는 실패 로그, 변경 내역, 의심 커밋과 근거가 이미 한 화면에 모여 있습니다. 담당자는 찾는 일 대신 확인하고 결정하는 일에 시간을 씁니다. 실제로 시간이 얼마나 줄어드는지는 고객 환경마다 다르므로, 도입 전 진단과 병행 운영에서 측정합니다.
실제 화면
아래는 제품 시험 때 캡처한 실제 화면입니다. 시험용 데이터라 사용자 이름과 커밋 번호가 기계적인 값(예: bbbbbbbbbbbb)으로 보입니다.
- 지금 할 일 — 내 빌드 진행 중, 내 커밋 실패, 실패 워크플로, 미전달 경보를 건수로 보여 주고 목록으로 바로 이어 줍니다.
- 메뉴 — 로그인한 사람이 가진 권한만큼만 보입니다.
- 이벤트 타임라인 — 대기 중 → 진행 중 → 실패처럼 상태가 바뀐 순서와 시각.
- 승인 근거 — AI가 권하는 조치(예: 제외 후 재시도), 신뢰도, 의심 커밋 수, 실패 빌드 수를 한 줄로 요약합니다.
- 변경 내역과 의심 커밋 — 이번 빌드에 새로 들어온 커밋과, 그 가운데 AI가 의심하는 커밋과 이유. 화면 아래에는 로그 근거와 결정 버튼이 이어집니다.