I recently contributed an article to CM Crossroads on when (or whether) to upgrade from an open source Continuous Integration (CI) system to a fully automated enterprise system. It’s a question we get a lot. To help our customers assess their needs, I always start by asking these seven questions:
- Are you creating builds more than once a day?
- Do you have multiple end products (targets, platforms) for your builds?
- Is your current CI environment made up of multiple, standalone systems throughout the company?
- Are your teams geographically dispersed?
- Is it difficult to scale your build-test-deploy environment to the next level?
- Are there barriers to sharing and reusing scripts?
- Is it challenging to track builds over time and conduct cross-project reporting?
If the answer is yes to two or more of the above questions, it’s usually a sign that the CI environment has become too complex for open source. While making a tool switch may sound painful, the performance improvement and reduced scripting/maintenance you realize from the change is almost always worth the effort.