Part1-SDET Essentials | Jenkins Build & Delivery Pipeline | CI & CD | How to create Jenkins Pipeline

Part1-SDET Essentials | Jenkins Build & Delivery Pipeline | CI & CD | How to create Jenkins Pipeline

Introduction to Jenkins Pipeline

In this section, the speaker introduces the topic of Jenkins pipeline and explains its importance for DevOps engineers.

Continuous Integration and Continuous Deployment (CICD)

  • The speaker explains that CICD is an important concept in software development.
  • There are three teams involved in CICD: developers, QA team, and DevOps team.
  • Developers write code while the QA team tests it. The DevOps team is responsible for creating builds and testing them.
  • DevOps engineers automate the build process and run automation scripts to evaluate build stability.

Deployment Process

  • The deployment process involves creating a build based on checked-in code.
  • Automation scripts are used to evaluate build stability through sanity and smoke test cases.
  • After testing, the build is deployed into the QA environment for further testing.

Conclusion

In this section, the speaker concludes by summarizing that DevOps is a team with specific skill sets responsible for automating processes such as infrastructure automation.

Summary

  • DevOps is not a specific skill set but rather a team with specific skills such as infrastructure automation.
  • The main responsibilities of DevOps include automating processes such as building, testing, and deploying software builds.

Continuous Integration and Continuous Delivery

This section explains the concepts of continuous integration and continuous delivery, their differences, and how they are automated using DevOps tools like Jenkins.

Continuous Integration

  • Developers provide programs at the end of the day.
  • The process involves building, deploying, and testing code between development and QA teams.
  • DevOps team creates a build through deployment process.
  • Automation code is exhibited by testers for basic testing.

Continuous Delivery

  • An enhancement of continuous integration that involves an additional step called release process.
  • After testing is completed, software is released to customers.
  • New functionalities are implemented again and again with continuous delivery.

Automation with Jenkins

  • DevOps team uses tools like Jenkins to automate infrastructure processes.
  • Every activity involved in CI/CD requires running a set number of jobs or events.
  • Jenkins automates every activity involved in CI/CD.

Understanding Jenkins Pipeline

In this section, the speaker explains the concept of a pipeline in Jenkins and how it can be used to achieve continuous integration and delivery.

What is a Pipeline?

  • A pipeline in Jenkins is a group of events or jobs that are interlinked with one another in a sequence.
  • The pipeline process is divided into four phases: build, deploy, test, and release.
  • Each phase has multiple jobs that need to be executed sequentially.

Setting up a Build Pipeline in Jenkins

  • To set up a build pipeline in Jenkins, we need to create multiple jobs related to different phases such as build, deploy, test, and release.
  • Every job will be created using different types of commands or automation scripts.
  • Once all the jobs are created, they can be integrated into a pipeline so that they execute sequentially one after another.

Creating Multiple Jobs and Establishing Dependency

In this section, the speaker explains how to create multiple jobs in Jenkins and establish dependencies between them.

Creating Multiple Jobs

  • To create a chain of jobs, we need to first create multiple jobs related to build process, testing, deployment, and release.
  • To create a new job in Jenkins, go to "New Item" and select "Freestyle Project".
  • For each job, add configuration details such as execute shell commands that will be executed during the job.

Establishing Dependency

  • Each job has an upstream and downstream job. For example, the deployment job is dependent on the build job (upstream), while the testing job is dependent on the deployment job (downstream).
  • To link jobs together, we need to add upstream and downstream jobs in sequence. This creates a chain of dependency between all the jobs.

Configuring Jobs in Jenkins

In this section, the speaker explains how to configure jobs in Jenkins and link them together.

Configuring Build Job

  • To configure a build job, go to "Configure" and specify the "Build after other projects are built" option under the "Build Trigger" section.
  • Specify which job needs to be completed before executing this particular job by selecting "Sample Build Job".

Configuring Testing Job

  • To configure a testing job, select "Build after other projects are built" and specify that the deployment job needs to be completed before running this test.
  • Select "Sample Deployment Job" as the project to watch.

Configuring Release Job

  • To configure a release job, select "Build after other projects are built" and specify that the testing job needs to be completed before running this release.
  • Select "Sample Test Job" as the project to watch.

Execution Path of Linked Jobs

  • Once all four jobs have been linked together, they will execute automatically one after another.
  • The first job is the build job followed by deployment, testing, and release jobs.
  • Clicking on each tab shows whether or not each respective job has been executed successfully.

Creating a Build Pipeline in Jenkins

In this section, the speaker explains how to create a build pipeline in Jenkins and execute multiple jobs sequentially.

Installing Required Plugin

  • To create a build pipeline, you need to add the Build Pipeline plugin.
  • Go to Manage Plugins > Available or Install (if already installed).
  • Search for "Build Pipeline" plugin and install it.
  • Restart Jenkins if required.

Creating a Build Pipeline

  • Click on the "+" icon on the dashboard and select "Build Pipeline View".
  • Give a name to the build pipeline.
  • Select the initial job (starting point of the pipeline).
  • Set the number of displayed builds.
  • Apply changes.

Executing Jobs Sequentially

  • Once all jobs are linked together, run the build pipeline.
  • All jobs will run one after another automatically without any manual intervention.

Creating and Executing a Pipeline

In this section, the speaker demonstrates how to create and execute a pipeline using Jenkins.

Creating a Build Pipeline

  • The build job is completed, and the sample job is executed successfully.
  • The jobs are executed sequentially, and the third round of execution has started.
  • Testing job is in progress, followed by release job execution. Once done, the delivery process is complete.
  • Every job contains many commands that run internally to build, deploy, test and release.

Delivery Pipeline

  • A delivery pipeline can be created in addition to the build pipeline.
  • To create a delivery pipeline, select "Delivery Pipeline" tab and specify initial job from where it should start.
  • Once created, we can see all runs executed successfully in every round.

Visualizing Delivery Pipeline

In this section, the speaker shows how to visualize a delivery pipeline.

Viewing Full Screen

  • Go to "View Full Screen" option for better visualization of every process in each round.

Understanding Jenkins Pipeline

In this section, we will learn about the concept of a pipeline and how to create one in Jenkins. We will also explore the different types of pipelines available.

What is Jenkins Pipeline?

  • Jenkins Pipeline is a continuous integration and deployment tool used for various activities.
  • It contains multiple jobs that can be executed sequentially or in parallel.
  • A pipeline job is defined using a script that specifies the steps to be executed.
  • The pipeline script can be written in Groovy or YAML.

Creating a Pipeline in Jenkins

  • To create a pipeline in Jenkins, navigate to the "New Item" option and select "Pipeline".
  • Give your pipeline a name and select "Pipeline script from SCM" as the definition.
  • Choose your source code management system and provide the necessary details.
  • Specify your pipeline script location and save your changes.

Types of Pipelines

Pipeline Reporter

  • The Pipeline Reporter is one type of pipeline available in Jenkins.
  • It provides detailed information on each stage of the pipeline, including build status, duration, and more.

Delivery Pipeline

  • The Delivery Pipeline is another type of pipeline available in Jenkins.
  • It allows you to visualize your entire software delivery process from code commit to production deployment.
Video description

Topics Covered: --------------------- Overview on Continuous Integration (CI) & Continuous Deployment (CD) What is Jenkins Pipeline Jenkins Pipeline Jobs How to Create Pipeline in Jenkins How to View Pipeline Jenkins Pipeline PPT: https://www.slideshare.net/secret/uM2g2opMRwhW7V #sdetessentials #jenkinspipeline ######################### Udemy Courses: ######################### Manual Testing+Agile with Jira Tool ************************************ ► https://shorturl.at/xNXZ4 Selenium with Java+Cucumber ******************************** ► https://shorturl.at/aIKMW Selenium with Python & PyTest ******************************** ► https://shorturl.at/ELW09 Selenium with python using Robot framework **************************************** ► https://shorturl.at/bcDPZ API Testing(Postman, RestAssured & SoapUI) ***************************************** ► https://shorturl.at/uAWY7 Web & API Automation using Cypress with Javascript ******************************************** ► https://rb.gy/4uum2n Playwright with Javascript ************************** ► https://shorturl.at/gALZ1 Jmeter-Performance Testing ************************ ► https://rb.gy/ocj7r2 SDET Essencials(Full Stack QA) ************************* ► https://rb.gy/hlnf2v Appium-Mobile Automation Testing ************************************ ► https://rb.gy/wmzv64 Java Collections ***************** ► https://bit.ly/3S66ezE Python Programming ********************* ► https://urlis.net/gdsfpb0s Cucumber BDD Framework *************************** ► https://bit.ly/3F7d69r Protractor with Javascript *************************** ► https://urlis.net/4uddm1qb #################################### Youtube Playlists: #################################### Manual Testing & Agile *********************** ► https://bit.ly/3ujvaYa ► https://bit.ly/3OYzxQj SQL ***** ► https://bit.ly/3R6XjeG ► https://bit.ly/3nE0a1s ► https://bit.ly/3IeKuuJ linux & Shell Scripting ********************** ► https://bit.ly/3up1Z6a ► https://bit.ly/3nzvGxx Java ***** ► https://bit.ly/3R9QfOs ► https://bit.ly/3AoRMKM ► https://bit.ly/3IbTTDn ► https://bit.ly/3ybXInv ► https://bit.ly/3yCoHdw Selenium With Java+Cucumber ******************************** ► https://bit.ly/3P2FMm4 ► https://bit.ly/3yhiIt4 ► https://bit.ly/3uokzet ► https://bit.ly/3a7XIND ► https://bit.ly/3umN2S9 ► https://bit.ly/3aar7GW ► https://bit.ly/3y9kD2S ► https://bit.ly/3uhLskn Python ******************************** ► https://bit.ly/3agNgU0 ► https://bit.ly/3NJNnoy ► https://bit.ly/2CTQ4mR ► https://bit.ly/3OIYWh1 Selenium With Python,Pytest&Behave *************************************** ► https://bit.ly/3OHHoC9 ► https://bit.ly/3IeNLdv ► https://bit.ly/2J4tPeT ► https://bit.ly/3ydSkAq Selenium With Python Using Robert Framework (Web&API Testing) ************************************************* ► https://bit.ly/3nUvlpr ► https://bit.ly/3nUvE3z API Testing (Postman,SoapUi,&Rest Assured) ********************************************** ► https://bit.ly/3OXacWY ► https://bit.ly/3yh0UhE ► https://bit.ly/3nC9DWQ ► https://bit.ly/3yGfhNS ► https://bit.ly/3OJa11H ► https://bit.ly/3P2slCC Mobile App Testing Appium **************************** ► https://bit.ly/3Al49HG Performance Testing Jmeter ******************************* ► https://bit.ly/3nz4fE7 Maven,Jenkins,Git,Github,CI/CD ******************************* ► https://bit.ly/3P16HPj ► https://bit.ly/3yhlUVA ► https://bit.ly/3afYfwT ► https://bit.ly/3yGzweG ► https://bit.ly/3yF73Ws ► https://bit.ly/3NCOmH7 SQL,DB Testing&ETL,Bigdata ******************************* ► https://bit.ly/3NKOcNY ► https://bit.ly/3OVpDyI ► https://bit.ly/3NEvUy0 ► https://bit.ly/3IryxlT ► https://bit.ly/3RkWBLh JavaScript Based Automation Tools ******************************** ► https://bit.ly/3nUx51X ► https://bit.ly/3AqI6Q0 ► https://bit.ly/3yeurbT ► https://bit.ly/3ujzpTK Selector Hub Tools ******************** ►https://rb.gy/h3h424 GraphQL ****************** ► https://rb.gy/sj3gys Cypress API Testing ******************** ► https://shorturl.at/fjKPX Cypress Web Testing ********************** ► https://shorturl.at/agjlK Playwright with Javascipt ************************** ► https://shorturl.at/adSTY