Jenkins vs Travis CI: What are the differences?
What is Jenkins? An extendable open source continuous integration server. In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
What is Travis CI? A hosted continuous integration service for open source and private projects. Free for open source projects, our CI environment provides multiple runtimes (e.g. Node.js or PHP versions), data stores and so on. Because of this, hosting your project on travis-ci.com means you can effortlessly test your library or applications against multiple runtimes and data stores without even having all of them installed locally.
Jenkins and Travis CI can be categorized as "Continuous Integration" tools.
Some of the features offered by Jenkins are:
- Easy installation
- Easy configuration
- Change set support
On the other hand, Travis CI provides the following key features:
- Easy Setup- Getting started with Travis CI is as easy as enabling a project, adding basic build instructions to your project and committing code.
- Supports Your Platform- Lots of databases and services are pre-installed and can simply be enabled in your build configuration, we'll launch them for you automatically. MySQL, PostgreSQL, ElasticSearch, Redis, Riak, RabbitMQ, Memcached are available by default.
- Deploy With Confidence- Deploying to production after a successful build is as easy as setting up a bit of configuration, and we'll deploy your code to Heroku, Engine Yard Cloud, Nodejitsu, cloudControl, OpenShift, and CloudFoundry.
"Hosted internally", "Free open source" and "Great to build, deploy or launch anything async" are the key factors why developers consider Jenkins; whereas "Github integration", "Free for open source" and "Easy to get started" are the primary reasons why Travis CI is favored.
Jenkins is an open source tool with 13.3K GitHub stars and 5.48K GitHub forks. Here's a link to Jenkins's open source repository on GitHub.
Facebook, Netflix, and Instacart are some of the popular companies that use Jenkins, whereas Travis CI is used by Lyft, Heroku, and Rainist. Jenkins has a broader approval, being mentioned in 1774 company stacks & 1526 developers stacks; compared to Travis CI, which is listed in 670 company stacks and 624 developer stacks.
What is Jenkins?
What is Travis CI?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
In the past we used to run Jenkins. The build server always had weird issues and was a pain to maintain. Travis is a great solution for CI. Their Debug build features makes it trivial to figure out why your build broke. The integration with Github is also very slick. One thing they could improve is the documentation on the .travis.yaml format. All in all, great company and very responsive supports. Over here at getstream.io we're a fan. Keep up the good work guys!
Travis CI is our pillar for automated deployment, pull request testing, auto-merging (for non-mission-critical projects), and build testing per commit / release.
It is highly configurable, super cheap, and extremely robust (supports every language and configuration we've thrown at it).
All of our pull requests are automatically tested using Jenkins' integration with GitHub, and we provision and deploy our servers using Jenkins' interface. This is integrated with HipChat, immediately notifying us if anything goes wrong with a deployment.
Jenkins is our go-to devops automation tool. We use it for automated test builds, all the way up to server updates and deploys. It really helps maintain our homegrown continuous-integration suite. It even does our blue/green deploys.
- Continuous Deploy
- Dev stage: autodeploy by trigger push request from 'develop' branch of Gitlab
- Staging and production stages: Build and rollback quicly with Ansistrano playbook
- Sending messages of job results to Chatwork.
While we usually run tests before commits, Travis goes further and tests with different Python versions and different database backends. It works great, and, best of all, it is free for open source projects.
Currently serves as the location that our QA team builds various automated testing jobs.
At one point we were using it for builds, but we ended up migrating away from them to Code Pipelines.
We use Jenkins to schedule our Browser and API Based regression and acceptance tests on a regular bases. We use additionally to Jenkins GitlabCI for unit and component testing.
Travis CI builds and tests every commit. It's also used to deploy Buildtime Trend as a Service to Heroku and the Buildtime Trend Python library to the PyPi repository.
Travis CI is critical for Linux and macOS CI tests for the Powershell module. Travis runs the same tests we run in AppVeyor in parallel.