Overall Satisfaction with Jenkins
Jenkins is used as a default tool for continuous integration across the enterprise. We have multiple instances for different applications. The slaves are auto scaled depending on the demand for builds. Jenkins builds, deploys and tests our deliverables providing instant feedback when changes are implemented. We use a numerous number of plugins to support our choice of technologies
- Distribute builds across slave farm
- Extremely flexible e.g. pipeline jobs
- Open api which means it is easy to extend
- Integrates with other tools such as SCM or project management
- Plugins can clash with each other as they are not tested together
- Upgrades can be painful, again because of plugins
- Missing support for job templates, no useful plugins exist
- Provide visibility into quality of deliverables
- Instant feedback
- Allows quick turn around of fixes
I would use TeamCity if Jenkins was not already in place. TeamCity seems a lot more stable when it comes to upgrading the software and job templates the way TeamCity handles them is an absolute killer feature. Jenkins is a bit of a wild animal, quite unpredictable but with the right approach can be tamed and used with benefits.