Mark Eschbach

Software Developer && System Analyst

Travis CI

Travis CI is a cloud based continuous integration system. They graciously offer their resources to many cloud based projects for build and execution. At it's core, Travis offers a single virtualized build environment per push to branches.

Analysis from Use

I've used thier systems in both a commerical setting as the primary build engineer on the team and for several of my open source projects.

Pros

  • Insulated environment per run
  • Support for installation of third party libraries and applications
  • You can script execution if the out of the box setup doesn't work for you.
  • Strong support for execution matrix (IE: multiple versions of Ruby or Python)
  • Many databases available out of the box
  • Supports secrete environment variables
  • Gives free builds to many open source projects without a high barrier of entry.
  • Transparent and honnest about issues with thier system (also fairly responsive).

Cons

  • Doesn't graph test results (duration, fail, pending, passed, etc)
  • Build logs aren't maintained when rerunning a specific job
  • (Could be on Apple or me too) OSX/iOS intermittenly fails
  • No easy iOS/OSX keychain integration; everything must be done through scripting
  • No out of the box pipelining system (IE: kick off acceptance tests after unit & integration tests pass), although you could trigger a build through API possibly