
Travis is like Github for CIs. So easy to setup that everyone does it.
It’s the new awesomesauce.
If you need continuous integration for your open source projects than Travis CI is a no brainer. It’s free. It works. It’s trivial to setup. If you don’t know you need CI for your open source project … that’s topic for another post.
It’s “an open-source, distributed build system for the Ruby community”, but if you’re willing to violate these ToS, you can also use it on Node.js projects. See this little hack.
You might have to fiddle with the .travis.yml file, but setting up a build matrix in a text file is orders of magnitude easier than using a Web UI.
Need to test on both Ruby 1.8.7 and Ruby 1.9.2? Run the test suite under both Rails 2 and Rails 3 setups? Test against MongoDB, MySQL, Postgres and Redis? Done, done and done.
The build configuration is checked into source control, that means, anyone can improve it. Right now I can’t get the Vanity tests to pass on 1.8.7 against MySQL, but maybe you can take a look and help?
And — this is my favorite part about Travis CI — anytime you branch or fork a project, you get a new build. Just like that. (If you’re forking, you’ll need to add your fork to Travis, but that’s only a click away)
That means you can work on patches in your own branch and run them through the entire build matrix. Just like that.
When it’s time to contribute your patches to the master branch, you know they won’t break the build. And if there’s need to change the build, you can merge these changes too.
If you’re managing an open source project, you ought to be looking at Travis CI.
I hope soon enough we’ll be able to use it for our internal build system. Until then, my open source projects are in good hands.