Welcome to the DevOps Library! This is Samantha, and in this episode, we're going to take a look at the Jenkins Pipeline plugin. A Jenkins pipeline allows you to define an entire application life cycle as code. In most cases, you'll want to use this plugin for implementing continuous delivery.
One huge benefit of using a pipeline is that the job itself is durable. A Pipeline job is able to survive planned or even unplanned restarts of the Jenkins master. If you need to survive slave failures as well, you’ll have to use checkpoints. Unfortunately, the checkpoints plugin is only available for the enterprise edition of Jenkins.
Pipelines are also pausable. You can use an "input" step to wait for human input or approval before continuing the job.
They're also versatile and extensible. You can set up pipelines that fork, join, loop, and even execute items in parallel. You can also use custom groovy to extend the Pipeline DSL.
Alright, it's time to cover some pipeline vocabulary.
Each pipeline generally consists of three things: Steps, Nodes, and Stages.
A step, also known as a "build step", is a single task that we want Jenkins to execute.
A “node”, within the contexts of a pipeline, refers to a step that does two things.
First, it schedules the defined steps so that it'll run as soon as an executor is available.
Second, it creates a temporary workspace which is removed once all steps have completed.
And lastly, we have "Stages". Stages are for setting up logical divisions within pipelines. The Jenkins Pipeline visualization plugin will display each stage as a separate segment. Because of this, teams tend to name stages for each phase of the development process, such as "Dev, Test, Stage, and Production".
Visit our website: www.devopslibrary.com :D, if you like our videos please subscribe to us! If you love them, you can help us to continue making more videos at patreon.com/devopslibrary
Have a great day!
Ken & Samantha @ The DevOps Library