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.
We are currently using Azure Pipelines for continous integration. Our applications are developed witn .NET framework. But when we look at the online Jenkins is the most widely used tool for continous integration. Can you please give me the advice which one is best to use for my case Azure pipeline or jenkins.
I'm open to anything. just want something that break less and doesn't need me to pay for it, and can be hosted on Docker. our scripting language is powershell core. so it's better to support it. also we are building dotnet core in our pipeline, so if they have anything related that helps with the CI would be nice.
I'm planning to setup complete CD-CD setup for spark and python application which we are going to deploy in aws lambda and EMR Cluster. Which tool would be best one to choose. Since my company is trying to adopt to concourse i would like to understand what are the lack of capabilities concourse have . Thanks in advance !
I would definetly recommend Concourse to you, as it is one of the most advanced modern methods of making CI/CD while Jenkins is an old monolithic dinosaur. Concourse itself is cloudnative and containerbased which helps you to build simple, high-performance and scalable CI/CD pipelines. In my opinion, the only lack of skills you have with Concourse is your own knowledge of how to build pipelines and automate things. Technincally there is no lack, i would even say you can extend it way more easily. But as a Con it is more easy to interact with Jenkins if you are only used to UIs. Concourse needs someone which is capable of using CLIs.
We replaced Jenkins with Github Actions for all our repositories hosted on Github. GA has two significant benefits for us compared to an external build tool: it's simpler, and it sits at eye level.
Its simplicity and smooth user experience makes it easier for all developers to adopt, giving them more autonomy.
Sitting at eye level means it's completely run and configured right alongside the code, so that it's easier to observe and adjust our builds as we go.
These two benefits have made "the build" less of a system engineer responsibility and more of a developer tool, giving developers more ownership from code to release.
Jenkins is a friend of mine. 😀
There are not much space for Jenkins competitors for now from my point of view. With declarative pipelines now in place, its super easy to maintain them and create new ones(altho I prefer scripted still). Self-hosted, free, huge community makes it the top choice so honestly for me it was an easy pick.
When choosing a tool to help automate our CI/CD, the decision came down to GitHub Actions (GA) or TravisCI. Both are great, but the team has more experience with GA. Given GAs broad support of languages and workflows, it's hard to go wrong with this decision. We will also be using GitHub for version control and project management, so having everything in one place is convenient.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is Jenkins?
What is Travis CI?
Need advice about which tool to choose?Ask the StackShare community!
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.
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.
To ensure that what works locally will also work for someone else. Also used to send code coverage to codeintel