전체 활용 사례

예약된 일정으로 릴리스 PR을 자동 병합하세요

릴리스 PR을 언제 배포하고 무엇을 건너뛸지 Zero에게 알려주세요. Zero가 정해진 주기에 검사를 실행하고, 위험한 변경은 건너뛰고, 나머지는 자동으로 병합합니다.

Zero가 연결합니다:GitHubSlack

Zero가 제공하는 것

무엇이 문제인가

메인 브랜치에 커밋이 충분히 쌓일 때마다 새 릴리스 PR이 열립니다. 대부분의 팀에서는 하루에 한두 번 일어나는 일입니다. 누군가는 diff를 훑어보고, CI가 통과했는지 확인하고, 체인지로그에 무서운 내용이 없는지 판단하고, 병합을 누른 뒤 배포를 지켜봐야 합니다. 그 사람이 회의 중이거나, 자고 있거나, 다른 대륙에 있으면 릴리스는 멈춰 있습니다. 커밋은 계속 위로 쌓이고, 체인지로그는 길어지고, 병합은 점점 더 위험해집니다. Zero에게 한 번만 알려주세요. 평일에 한 번 릴리스 검사를 실행하고, 위험한 건 건너뛰고, 업무 시간에 병합하고, 릴리스 채널에 게시하라고요. 그러면 그때부터 배포는 팀의 시간표에 맞춰 알아서 이루어집니다.

Zero가 해결하는 방법

1단계: 도구 연결하기

GitHub
GitHub
필수
GitHub - Zero가 릴리스 PR을 나열하고, 파일 변경을 살피고, CI 상태를 확인하고, 자동 병합을 활성화합니다. Zero가 병합을 실행할 수 있으려면 저장소 쓰기 권한이 필요합니다.
연결
Slack
Slack
필수
Slack - Zero가 Slack 연결을 사용해 병합을 알리고, 건너뛴 PR을 표시하고, 위험한 것을 에스컬레이션합니다. Slack이 없으면 Zero는 병합은 할 수 있지만 보고할 곳이 없습니다.
연결

2단계: Zero에게 요청하기

@Zero every weekday at 3pm, check our repo for an open release PR. If it has no DB migration files, enable auto-merge with squash so it ships the moment CI passes - then post an update in #release-notify.
Zero가 정해진 주기에 릴리스 PR을 확인합니다
Zero는 사용자가 설정한 일정에 따라 실행됩니다. 대부분의 팀은 평일 하루 한 번, 고속 배포 팀은 시간 단위로요. 그리고 기본 브랜치에서 열린 릴리스 PR을 GitHub에 조회합니다. 그 시간대를 벗어나면 아무것도 하지 않습니다. 업무 외 시간 병합도, 주말의 깜짝 배포도 없습니다.
Zero가 각 PR을 안전 규칙에 비추어 점검합니다
Zero는 PR의 파일 목록을 읽습니다. 사용자가 지정한 민감 경로(마이그레이션, 인프라, 결제)에 해당하는 파일이 있으면 병합을 건너뛰고 채널에 알려 사람이 판단하게 합니다. 그렇지 않으면 필수 CI 검사가 통과하는지 확인합니다.
Zero가 자동 병합을 활성화하고 결과를 보고합니다
정책을 통과한 PR에 대해 Zero는 `gh pr merge --auto --squash`를 실행해, CI가 통과되는 순간 PR이 병합되도록 합니다. 병합이 완료되면 Zero가 릴리스 채널에 간결한 상태 한 줄을 다시 게시합니다.

3단계: 한 걸음 더 나아가기

즉석에서 정책 강화하기
코드를 건드리지 않고 새 규칙을 추가하세요.
@Zero from now on, skip any release PR whose changelog mentions `infra` or `billing`.
위험한 것은 에스컬레이션하기
원래라면 건너뛸 PR을 Zero가 병합 대신 표시하게 하세요.
@Zero when you find a release PR with a migration file, open a thread in #dev tagging @oncall with the diff link.
준비되면 주기 올리기
정책이 검증되고 나면 하루 한 번에서 하루 여러 번으로 옮기세요.
@Zero starting next week, run the release auto-merge check twice a day - once in the morning, once after lunch - instead of just at 3pm.

더 나은 결과를 위한 팁

하루 한 번 검사로 시작하고, 정책이 신뢰를 얻은 뒤에만 주기를 늘리세요. 하루 한 번이면 팀이 감시받는 느낌 없이 예측 가능한 배포 리듬을 가질 수 있습니다.
명문화되지 않은 릴리스 규칙을 프롬프트에 담으세요. '마이그레이션 건너뛰기'는 당연하고, '데모 시간대에는 병합 멈추기'나 '금요일 오후에는 절대 배포 금지' 같은 것이 Zero가 알아야 할 조용한 규칙입니다.
이를 매일 엔지니어링 브리프와 엮으면, 아침 보고가 '어제 릴리스가 배포되었고, 커밋 N건이 담겼으며, PR M건이 아직 대기 중'으로 시작합니다. 자율 배포에 가시적인 보고를 더하세요.