Overview
Continuous Delivery was a project I was tasked with at Little Chicken Game Company to create a build pipeline for our Unity3D projects.
Prior to this point, there were no automated systems in place to facilitate game builds.
Implementation
A former colleague had already tried TeamCity and was successful in making builds. After he left, I started over and began utilizing TeamCity for our builds.
The pipeline worked as follows:
- Source Control — TeamCity would pull source code from CVS
- Build Jobs — Execute automated jobs on the pulled source
- Unity Build — One job would build the Unity project using the Unity Editor's command line interface
- Distribution — Another job would upload the successful build to a build storage website from which we could download new builds to our devices
Results
| Metric | Before | After |
|---|---|---|
| Production build time | 4–8 hours (manual) | 8 minutes (automated) |
| Development bugs | Significantly more | Significantly fewer (unit testing) |
| Build creation errors | Frequent manual mistakes | Consistent, automated |
The improvements were dramatic:
- ⏱ Production build time reduced from 4–8 hours to 8 minutes
- 🐛 Significantly fewer bugs and errors during development (thanks to unit testing)
- 🔄 Consistent build creation — no more manual steps to forget