Jenkins is free and great for small business and start ups.
We have been able to leverage existing free plugins, and not needed to write any custom or convoluted scripts.
- Job chains. you can break up tasks into multiple jobs and chain them together.
- Jobs are very flexible. there are many plugins available for things like maven/ant/msbuild/s3 and if you can't find one for your particular stack, you can always drop down to scripting.
- Notifications. we've used the out-of-the-box email notifications to report on failures, and we also use the Slack integration provided by a free plugin.
Cons
- Its open source, so there are times when plugins (not the core) have issues and you either have to wait for a fix, suggest a fix, or find a work-around.
- The UI leaves a little something to be desired. It seems like it was designed by engineers. fortunately there is a plugin for styling which makes it a little better.
- Version 2 is out. At the time when I tried to migrate from 1.6 I had issues because some of the plugins I use had issues in 2.0.