We've been using Travis CI (private) @ AMA for maybe a year or so now and have had a ton of success with it. We do tons of RSpec and have moved into using Teaspoon/Jasmine. It's covered all of our needs:
http://about.travis-ci.org/docs/user/languages/ruby/
We had to bump up our workers from 2 -> 5 because we were experiencing slowdowns when we were really busy. Each push triggers a build, a PR triggers a build (so you can lock up those 2 workers pretty quickly).
Overall we've had 3 issues with them.
- The first was when we bumped up to 5 workers we somehow got moved down to 2 workers for a few days. They quickly fixed it once I contacted them and then they gave us a good chunk of free time for the inconvenience.
- The second was that they pulled a patch level of ruby without any notifications (that we saw at least). We ended up doing the below to fix it. This just grabs the most recent patch level. Pretty minor.
- The third was that our build randomly kept running out of memory. This one was tough to track down since the build would just randomly fail. We ended up fixing it with this:
before_install:
- sudo sysctl -w kernel.shmmax=268435456
- sudo sysctl -w kernel.shmall=268435456
I can honestly say, you get what you pay for with Travis CI. The Travis team has worked through all of issues from the beginning to end. Most of the time I can just jump into their campfire and hammer the issue out. Their support is amazing.
We used to use Jenkins in house, but the amount of maintenance that went into it was huge. The only thing we miss from Jenkins was the ability to auto-deploy master easily to our internal servers.
Ryan