Day 26: Jenkins Declarative Pipeline

Day 26: Jenkins Declarative Pipeline

90DaysOfDevOps

·

2 min read

One of the most important parts of your DevOps and CICD journey is a Declarative Pipeline Syntax of Jenkins. So let's make a declarative Pipeline.

Some terms for your Knowledge -

What is Pipeline - A pipeline is a collection of steps or jobs interlinked in a sequence.

Declarative: Declarative is a more recent and advanced implementation of a pipeline as a code.

Scripted: Scripted was the first and most traditional implementation of the pipeline as a code in Jenkins. It was designed as a general-purpose DSL (Domain Specific Language) built with Groovy.

For all the key terms of Jenkins- check here.

Why You Should Have a Pipeline

The definition of a Jenkins Pipeline is written into a text file (called a Jenkinsfile) which in turn can be committed to a project’s source control repository.
This is the foundation of "Pipeline-as-code"; treating the CD pipeline as a part of the application to be versioned and reviewed like any other code.

Creating a Jenkinsfile and committing it to source control provides a number of immediate benefits:

  • Automatically creates a Pipeline build process for all branches and pull requests.

  • Code review/iteration on the Pipeline (along with the remaining source code).

Pipeline syntax

pipeline {
    agent any 
    stages {
        stage('Build') { 
            steps {
                // 
            }
        }
        stage('Test') { 
            steps {
                // 
            }
        }
        stage('Deploy') { 
            steps {
                // 
            }
        }
    }
}

Task-01:

  • Create a New Job, this time select Pipeline instead of Freestyle Project.

  • Follow the Official Jenkins Hello world example

  • Complete the example using the Declarative pipeline

Pipeline: is Declarative Pipeline-specific syntax that defines a "block" containing all content and instructions for executing the entire Pipeline.

Agent: Agent signifies where the Jenkins build job should run. In this case, we have selected agents as any.

Stages: stages block consists of different executable stage blocks. At least one stage block is mandatory inside the stages block. Here we have names stage as “Hello”

Steps: Steps blocks consist of the actual operation that needs to be performed inside Jenkins. In the above example, we are printing “Hello World“.

6)Build the project. You can manually build the project by clicking on the "Build Now" link on the project's main page

Save the job and build the pipeline. You can see that the stages will start building.

Output: