Travis CI
Travis CI is an open source software service that tests and deploys GitHub-hosted projects. It is a form of continuous integration software.
- Developers can watch tests as they are performed
- Tests can be run in parallel
- Supports Linux and Mac (iOS)
- Command line tool and powerful API
- Automatically builds and tests incremental code changes
- Manages deployments and notifications
- Free for open source projects
- Supports a wide variety of programming languages
- Cutomizable software support
- Enterprise plans available
- Project must be hosted on GitHub
- Environments must be built properly and meet Travis CI’s requirements
- Code must already be working and have a build or test script
- Fee is required for use with private projects
This testing and integration service is limited to GitHub users. Private projects require a fee, although there is a generous free trial. To get started, users need to have a GitHub login, a project hosted on GitHub, working project code, and a working build or test script to use Travis CI. When a user runs a build, it clones the user’s GitHub repository, places it into a new environment, and then builds and tests the code through a series of tasks. Travis CI labels the code as “broken” should it fail a task or “passed” if all tasks are cleared. Upon passing, Travis CI deploys the code to a host or web server. Travis CI offers different infrastructure environments, including container-based, pseudo-enabled, or OS X. It can run tests on a variety of platforms and software. Travis CI is also robust in its language support, which includes Android, C, C#, C++, Cloure, Crystal, D, Dart, Erlang, Elixir, F#, Go, Groovy, Haskell, Haxe, Java, Javascript, Julia, Nix, Objective-C, Perl, Perl6, PHP, Python, R, Ruby, Rust, Scala, Smalltalk, Swift, and Visual Basic. Users that have migrated from other services attest that Travis CI is easy to use, scalable, well-documented, and has a strong API to build additional tools. The support for web development is one of its greatest assets. Although some suggest the user interface could be updated, the functionality outweighs those issues.