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.
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".
is a text file that contains the definition of a
Jenkins Pipeline and is checked into source control.
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.
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  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.