Continuous Integration with Jenkins
Now you know how to integrate with Travis CI, and know what you can expect from a CI server, let's try to replicate the same results using Jenkins, a self-hosted alternative. We have chosen Jenkins here because, at the time of writing, it is the most popular CI tool, with over 1 million users and 150,000 installs.
First, we will give you a brief introduction to Jenkins, and then we'll install and integrate it with our repository.
Introduction to Jenkins
While Travis is purely a CI server, Jenkins is much more powerful. Generally speaking, Jenkins is an open source automation server. This means it can automate any processes that are tricky to do by hand, either because it is repetitive, time-consuming, prone to human errors, or all of the above. For example, we can use Jenkins for the following:
- Building/packaging applications
- Dynamically generating documentation
- Running pre-deployment E2E/integration/unit/UI tests
- Deployment onto various testing environments...