Travis CI

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Travis CI
Developer(s) Travis CI community
Written in Ruby
Platform Web
Type Continuous integration
License MIT License[1]
Website travis-ci.org (Free) travis-ci.com (Pro)

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

Open source projects may be tested at no charge via travis-ci.org. Private projects may be tested at the same location 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.[4]

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.[5] 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[5]—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),[6] 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.[7] 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.[8][9][10] As of February 2013, over 8056 JavaScript projects use it.[5]

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.[11]

Company

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

See also

References

  1. Travis CI LICENSE
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 5.2 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.

External links