Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks such as building, testing, and deploying software. Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with the Java Runtime Environment installed.
This guided tour will use the "standalone" Jenkins distribution which requires a minimum of Java 7, though Java 8 is recommended. A system with more than 512MB of RAM is also recommended.
Open up a terminal in the download directory and run java -jar jenkins.war
Browse to http://localhost:8080
and follow the instructions to complete the installation.
Many Pipeline examples require an installed Docker on the same computer as Jenkins.
When the installation is complete, start putting Jenkins to work and create a Pipeline.
Jenkins Pipeline is a suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins. Pipeline provides an extensible set of tools for modeling simple-to-complex delivery pipelines "as code".
A
Jenkinsfile
is a text file that contains the definition of a
Jenkins Pipeline and is checked into source control.
[1]
This is the foundation of "Pipeline-as-Code"; treating the continuous delivery
pipeline a part of the application to be version and reviewed like any other code.
Creating a Jenkinsfile
provides a number of immediate benefits:
Automatically create Pipelines for all Branches and Pull Requests
Code review/iteration on the Pipeline
Audit trail for the Pipeline
Single source of truth [2] for the Pipeline, which can be viewed and edited by multiple members of the project.
While the syntax for defining a Pipeline, either in the web UI or with a
Jenkinsfile
, is the same, it’s generally considered best practice to define
the Pipeline in a Jenkinsfile
and check that in to source control.