뱅크샐러드, 1000번 배포를 위한 혁신적인 CI/CD 시스템 구축!
by DD
6년 전
조회수 6
Git-Flow 기반의 기존 배포 시스템의 병목 현상을 분석하고, GitHub Actions 기반의 새로운 배포 시스템을 구축함
Commit-Train Based Deployment 방식을 도입하여, 배포 횟수 4배 증가 및 개발 생산성 향상
Deploybot 개발을 통해 GitHub API를 활용, 배포 자동화 및 롤백 기능 강화
GitHub Actions를 활용한 CI/CD 파이프라인
GitHub Actions는 CI/CD 파이프라인 구축을 위한 강력한 도구이다. GitHub Deployments를 통해 배포 상태를 추적하고, 각 단계별 성공/실패 여부를 확인할 수 있다. 따라서 GitHub Actions는 뱅크샐러드의 배포 자동화를 위한 핵심 기술로 활용되었다.
Commit-Train Based Deployment의 장단점
Commit-Train Based Deployment는 여러 커밋을 묶어 한 번에 배포하는 방식이다. 배포 빈도 증가와 롤백 용이성을 제공하지만, 커밋 간의 사이드 이펙트를 주의해야 한다. 반면, GitHub Deployments와 연동하여 배포 이력을 관리하고, Deploybot을 통해 배포 과정을 자동화했다.
Deploybot: 배포 자동화의 핵심
Deploybot은 GitHub API를 활용하여 배포를 자동화하는 뱅크샐러드의 자체 개발 툴이다. Slackbot 인터페이스를 통해 배포 상태를 확인하고, 롤백을 수행할 수 있다. 구체적으로, gRPC를 사용하여 서비스 간 통신하며, Go 언어로 개발되어 확장성을 확보했다.