Becoming an Organization That Deploys 1,000 Times a Day
Key point
Banksalad overcame the limitations of Git-Flow and ChatOps by introducing a new GitHub Actions-based deployment system, increasing deployment counts by 4x.
Details
Banksalad's Engineering Foundation Framework Team built a new system to solve the inefficiencies of their existing deployment process, which consisted of Git-Flow, Travis CI, and Slack ChatOps. The existing approach involved many steps per deployment due to complex branch management and manual intervention, made it difficult to track configuration change history, and carried a high risk of human error.
New Deployment Architecture
The new system adopted a Lightweight Branching Model, removing unnecessary branches other than the master branch, and simplified commit history through Squash and Merge. It also applied a Commit-Train Based Deployment approach, bundling commits merged into master to deploy them at once, reducing side effects and communication costs. The CI/CD pipeline was unified with GitHub Actions, supporting more concurrent runs than Travis CI, and operates with separate Build and Deploy workflows.
Developing the Internal ChatOps Tool 'deploybot'
To overcome the limitations of the existing Slack integration (inability to deploy specific commit SHAs, difficulty tracking history), the team developed an internal tool called deploybot, written in Go. Using gRPC and Protobuf, this tool is split into a 'deploy' service responsible for deployment logic and a 'deploybot' service responsible for the Slack interface. Developers can perform commit-unit deployments, check the current deployment environment, and track deployment history in real time using the @deploybot status, @deploybot deploy, and @deploybot history commands.
Adoption Results and Stability
After adopting the new system, the number of steps required for deployment decreased by 60~83%, and bottlenecks were eliminated, enabling faster deployments with fewer resources. The number of deployments increased by about 4x compared to before, reaching an average of 5 deployments per day per server developer. Despite the frequent deployments, stability is maintained by managing the Rollout process with an internal experimentation platform and Observability tools.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.