A few years ago, my team and I invested the effort to build a continuous integration environment. We use TeamCity and we are quite happy with it. Once you have a platform for automated builds, you quickly become interested in automated deploys. Embarking on the painful journey to get your software to “1-click” production deploys is one of the healthiest investments you can make in your dev infrastructure.
These days we are a ways past simple deploys. Our CI infrastructure runs tests, deploys code, migrates databases, deploys infrastructure, and even moves datasets around our environments. All this good automation is glued together with various build scripts–some in python, some in bash.
Continue reading →