Trisha Shetty (Editor)

Travis CI

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Travis CI community

Platform
  
Web

License
  
MIT License

Written in
  
Ruby

Type
  
Continuous integration

Repository
  
github.com/travis-ci/travis-ci

Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.

Contents

Open source projects may be tested at no charge via travis-ci.org. Private projects may be tested at travis-ci.com on a fee basis. TravisPro provides custom deployments of a proprietary version on the customer's own hardware.

Although the source is technically free software and available piecemeal on GitHub under permissive licenses, the company notes that it is unlikely that casual users could successfully integrate it on their own platforms.

Configuration

Travis CI is configured by adding a file named .travis.yml, which is a YAML format text file, to the root directory of the repository. This file specifies the programming language used, the desired building and testing environment (including dependencies which must be installed before the software can be built and tested), and various other parameters.

Operation

When Travis CI has been activated for a given repository, GitHub will notify it whenever new commits are pushed to that repository or a pull request is submitted. It can also be configured to only run for specific branches, or branches whose names match a specific pattern. Travis CI will then check out the relevant branch and run the commands specified in .travis.yml, which usually build the software and run any automated tests. When that process has completed, Travis notifies the developer(s) in the way it has been configured to do so—for example, by sending an email containing the test results (showing success or failure), or by posting a message on an IRC channel. In the case of pull requests, the pull request will be annotated with the outcome and a link to the build log, using a GitHub integration.

Travis CI can be configured to run the tests on a range of different machines, with different software installed (such as older versions of a programming language implementation, to test for compatibility), and supports building software in numerous languages, including C, C++, C#, Clojure, D, Erlang, F#, Go, Groovy, Haskell, Java, JavaScript, Julia, Perl, PHP, Python, R, Ruby, Rust, Scala and Visual Basic. Several high-profile open source projects are using it to run builds and tests on every commit, such as Plone, Ruby on Rails, Ruby, and Node.js. As of February 2013, over 8056 JavaScript projects use it.

Integration

Travis CI supports integration with external tools such as coverage analyzers or static analyzers. In the case of Coverity Scan, for instance, Travis CI can run the build stage under Coverity's cov-build tool, and submit the result for analysis if the build succeeds.

Company

The company is headquartered in Berlin, Germany and was founded in 2011. In 2012 the project experienced significant growth and launched a crowd funding campaign to fund further development which was sponsored by dozens of technology companies.

References

Travis CI Wikipedia