잘못된 브랜치 배포를 방지하기
역량 개발 · 카카오스타일 테크 · 2022.08.28
카카오스타일에서 겪었던 배포 과정의 문제점과 그 해결 방법을 공유해 드립니다. 테스트 환경인 알파(Alpha) 서버에 배포할 때, 최신 코드가 반영되지 않은 오래된 브랜치를 배포하여 이미 프로덕션에 반영된 기능이 사라지는 문제가 발생하곤 했는데요. 이를 해결하기 위해 Git의 shallow clone 환경에서도 배포 브랜치가 주 브랜치(main/master)의 내용을 모두 포함하고 있는지 검증하는 스크립트를 구현했습니다. git fetch --deepen과 merge-base를 활용해 배포 전 브랜치 상태를 체크함으로써, 실수를 방지하는 Poka-yoke를 시스템적으로 구현한 사례입니다.