Deploy-gate-9

이지예·2026년 8월 7일

개발

목록 보기
20/58

ApprovalLog를 이용한 승인 이력 관리

오늘은 Deploy-gate의 승인 이력 관리 구조를 분석했다.

배포 승인 시스템에서는 현재 승인 여부만 아는 것으로 충분하지 않다.

누가
어떤 Stack에
어떤 작업을 요청했고
누가 승인했으며
언제
어떤 결과가 발생했는지

를 나중에 확인할 수 있어야 한다.

ApprovalLog

프로젝트에서는 이를 위해 ApprovalLog Entity를 별도로 둔다.

주요 데이터는 다음과 같다.

deployerName
stackName
action
result
decidedBy
decidedAt
requestId

예를 들어 다음과 같은 기록이 가능하다.

deployerName : jiye
stackName    : ProdAlbStack
action       : DEPLOY
result       : ALLOWED
decidedBy    : alice

History API

이력은 다음 API로 조회할 수 있다.

GET /approval/history

그리고 Stack이나 User를 기준으로 필터링할 수 있다.

전체 이력
Stack 기준
User 기준
Stack + User 기준

조회 개수 역시 제한되어 있으며 최대 200건까지 조회하도록 되어 있다.

Audit Log의 의미

처음에는 Log라고 해서 단순한 애플리케이션 로그라고 생각했지만, 코드를 분석하면서 이것이 배포 승인 행위 자체를 기록하는 감사 데이터에 가깝다는 것을 알게 되었다.

배포와 같은 중요한 작업에서는

현재 상태
+
과거의 의사결정 기록

이 모두 필요하다.

오늘 배운 점

이번 프로젝트를 통해 운영 시스템에서는 "현재 결과"만 저장하는 것보다 누가 어떤 의사결정을 했는지를 추적할 수 있는 Audit Trail을 함께 설계하는 것이 중요하다는 것을 배웠다.

profile
github: @dlwldP

0개의 댓글