목록 보기
하루에 1000번 배포하는 조직 되기
데브옵스

하루에 1000번 배포하는 조직 되기

뱅크샐러드
뱅크샐러드
2020년 2월 29일

두줄요약

GitHub Actions와 Kubernetes 기반 배포 체계를 커밋 단위 배포로 개선했습니다. 배포 단계를 줄이고 deploybot을 구축해 배포 횟수를 약 4배 늘렸습니다.

문제 상황

  • Git-Flow의 반복적인 브랜치 전환·PR·리뷰로 인한 배포 병목과 대규모 변경 묶음 배포
  • 태그 기반 배포의 개별 기능 롤백 한계와 Kubernetes 설정 변경 추적 어려움

구조와 흐름

  • master 기반 단일 브랜치 모델과 PR 단위 squash merge를 통한 배포 가능 커밋 관리
  • GitHub Actions에서 lint·unit test·Docker image 빌드 후 GitHub Deployments 이벤트로 Kubernetes 배포
  • deploy와 Slack 기반 deploybot 분리를 통한 커밋 SHA별 배포·상태 조회·이력 확인

선택 이유

  • 작은 PR과 GitHub Revert Pull Request를 활용한 기능 단위 롤백
  • GitHub Deployments를 배포 메타데이터 저장소로 활용한 배포 기록 일원화
  • Kubernetes 객체 YAML·GitHub Secrets·gomplate 기반 Infrastructure as Code

성능/운영 포인트

  • 기존 대비 배포 단계 60~83% 축소와 배포 횟수 약 4배 증가
  • deploy와 rollout 분리, 점진적 rollout 및 옵저버빌리티 모니터링 기반 안정성 관리
  • GitHub 의존성, 배포 잠금, 미배포 커밋 알림, 환경별 채널 분리, rollout 완료 확인 과제

다음 읽기

#GitHub Actions 주제를 이어서 읽기

안전제일! 뱅크샐러드가 모바일 앱을 안정적으로 배포하는 방법

모바일 앱의 되돌릴 수 없는 배포 특성에 맞춘 주간 QA·심사·점진 배포 절차를 소개했습니다. 브랜치 전략과 자동화 테스트, 모니터링으로 배포 리스크를 낮춘 방식을 설명합니다.

뱅크샐러드
뱅크샐러드
프론트엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...