SlideShare a Scribd company logo
Pipeline as Code
using Jenkins
Introduction to Jenkins Pipeline in the QE workflow
Anisha Narang
Swapnil Jadhav
Principal Software Quality Engineer | Red Hat QE Lead | Red Hat
Agenda:
● Introduction to Jenkins pipelines
● Pipeline Concepts and Syntax
● Making pipelines part of your codebase.
● Demo
● QnA
Challenges with Test Automation & CI/CDs
● Frequent releases demand robust regression suite
● Difficulties in managing complexities in Freestyle jobs
● Integration with Dev team’s deployment pipelines
● Migration of QA Jenkins VM
● In-ability to stop/pause jenkins job for user input.
What is Jenkins Pipeline?
In Jenkins, a pipeline is a collection of events or jobs which are interlinked with
one another in a sequence. It is a combination of plugins that support the
integration and implementation of continuous delivery pipelines using Jenkins.
Why Jenkins Pipeline
● Jenkins file could be stored in SCM
● Single source of pipeline helps multiple users to contribute
● Audit Trail
● Pause/Start Pipeline for user’s inputs
● Easy to accommodate Complex Pipelines using loop, forks
● Easy job restoration during Jenkins Migration
● Resilient for unplanned restarts
Pipeline Concepts
Pipeline as Code via the Pipeline specific DSL syntax.
Jenkinsfile Definition of Jenkins pipeline in a text file.
● Pipeline
○ A Pipeline is a user-defined model of a CD pipeline; a Pipeline’s code defines your entire build
process.
● Node
○ A node is a machine which is part of the Jenkins environment and is capable of executing a
Pipeline.
● Stage
○ A stage block defines a conceptually distinct subset of tasks performed through the entire
Pipeline (e.g. "Build", "Test" and "Deploy" stages)
● Step
○ A single task. Fundamentally, a step tells Jenkins what to do at a particular point in time (or
"step" in the process)
Pipeline Syntax
● Declarative
● Scripted
A Jenkinsfile can be written using two types of syntax:
Pipeline as code using Jenkins -Ministry of Testing
Declarative Pipeline for Tests
Demo
● Getting started with Pipelines
○ Using the Web UI to write Pipeline
○ Configuring Selenium Java repo
○ Publish TestNG reports
● Configuring your jenkins job for API tests with Jenkinsfile
○ Parameterize the job
○ Add stages
○ Publish reports
○ Trigger emails.
References:
- Getting started with Jenkins Pipeline -> https://www.jenkins.io/doc/book/pipeline/
Demo references:
- Selenium java repo -> https://github.com/the-test-trove/Selenium-testNg-Maven
- Configuring Jenkins job using Maven -> https://github.com/the-test-trove/Selenium-
testNg-Maven/blob/main/jenkins_config/Jenkinsfile
- API tests using lcc -> https://github.com/the-test-trove/api-tests-lcc
- Jenkinsfile -> https://github.com/the-test-trove/api-tests-
lcc/blob/master/jenkins_config/Jenkinsfile
Questions?
@anisha_narang @swapnil_111

More Related Content

PPTX
Jenkins pipeline as code
PDF
Jenkins Declarative Pipelines 101
PDF
Jenkins : Pipeline As Code
PPTX
Jenkins presentation
PDF
CI/CD Pipeline as a Code using Jenkins 2
PDF
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
PDF
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
PDF
Graphql usage
Jenkins pipeline as code
Jenkins Declarative Pipelines 101
Jenkins : Pipeline As Code
Jenkins presentation
CI/CD Pipeline as a Code using Jenkins 2
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Graphql usage

What's hot (20)

ODP
Pipeline based deployments on Jenkins
PPTX
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
PPTX
Jenkins Pipeline 101 and TCI - presentation and workshop
PDF
Hacking Jenkins
PDF
Jenkins
PPT
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
ODP
Jenkins Pipelining and Gatling Integration
PPTX
PPTX
Continuous Delivery - Pipeline as-code
PPTX
Jenkins CI presentation
PPT
Flash Camp Chennai - Build automation of Flex and AIR applications
PDF
How to write a Dockerfile
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
PDF
Building Efficient Parallel Testing Platforms with Docker
PDF
From Virtual Machines to Containers
PPT
CI and CD with Jenkins
PPTX
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
PDF
2013 10-28 php ug presentation - ci using phing and hudson
PPTX
Supermondays: Jenkins CI lightning talk
Pipeline based deployments on Jenkins
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Jenkins Pipeline 101 and TCI - presentation and workshop
Hacking Jenkins
Jenkins
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins Pipelining and Gatling Integration
Continuous Delivery - Pipeline as-code
Jenkins CI presentation
Flash Camp Chennai - Build automation of Flex and AIR applications
How to write a Dockerfile
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
JUC Europe 2015: Plugin Development with Gradle and Groovy
Building Efficient Parallel Testing Platforms with Docker
From Virtual Machines to Containers
CI and CD with Jenkins
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
2013 10-28 php ug presentation - ci using phing and hudson
Supermondays: Jenkins CI lightning talk
Ad

Similar to Pipeline as code using Jenkins -Ministry of Testing (20)

PDF
Implementing CI CD UiPath Using Jenkins Plugin
PPTX
Pipeline as code - new feature in Jenkins 2
PDF
vodQA Pune (2019) - Jenkins pipeline As code
PPTX
What Is Jenkins? Features and How It Works
PDF
PPTX
Basic Jenkins Guide.pptx
PPTX
Jenkins2 - Coding Continuous Delivery Pipelines
PDF
Pipeline 101 Lorelei Mccollum
PDF
Jenkins pipeline -- Gentle Introduction
PDF
Jenkins Pipelines
PDF
Pipeline as Code
PPTX
jenkins_pipeline_classicUI.pptx
PDF
35 Jenkins Interview Questions and Answers for 2023.pdf
PDF
Continuous delivery with jenkins pipelines @ devdays
PPTX
varun JENKINS.pptx
PDF
413450-rc218-cdw-jenkins-workflow
PDF
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
PPTX
DevOps-CI_CD_JAVA_JAVA______Jenkins.pptx
PDF
Jenkins & IaC
PDF
Jenkins: An open-source automation server powering CI/CD Automation
Implementing CI CD UiPath Using Jenkins Plugin
Pipeline as code - new feature in Jenkins 2
vodQA Pune (2019) - Jenkins pipeline As code
What Is Jenkins? Features and How It Works
Basic Jenkins Guide.pptx
Jenkins2 - Coding Continuous Delivery Pipelines
Pipeline 101 Lorelei Mccollum
Jenkins pipeline -- Gentle Introduction
Jenkins Pipelines
Pipeline as Code
jenkins_pipeline_classicUI.pptx
35 Jenkins Interview Questions and Answers for 2023.pdf
Continuous delivery with jenkins pipelines @ devdays
varun JENKINS.pptx
413450-rc218-cdw-jenkins-workflow
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
DevOps-CI_CD_JAVA_JAVA______Jenkins.pptx
Jenkins & IaC
Jenkins: An open-source automation server powering CI/CD Automation
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
cuic standard and advanced reporting.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
sap open course for s4hana steps from ECC to s4
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
cuic standard and advanced reporting.pdf
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Programs and apps: productivity, graphics, security and other tools
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
sap open course for s4hana steps from ECC to s4

Pipeline as code using Jenkins -Ministry of Testing

  • 1. Pipeline as Code using Jenkins Introduction to Jenkins Pipeline in the QE workflow Anisha Narang Swapnil Jadhav Principal Software Quality Engineer | Red Hat QE Lead | Red Hat
  • 2. Agenda: ● Introduction to Jenkins pipelines ● Pipeline Concepts and Syntax ● Making pipelines part of your codebase. ● Demo ● QnA
  • 3. Challenges with Test Automation & CI/CDs ● Frequent releases demand robust regression suite ● Difficulties in managing complexities in Freestyle jobs ● Integration with Dev team’s deployment pipelines ● Migration of QA Jenkins VM ● In-ability to stop/pause jenkins job for user input.
  • 4. What is Jenkins Pipeline? In Jenkins, a pipeline is a collection of events or jobs which are interlinked with one another in a sequence. It is a combination of plugins that support the integration and implementation of continuous delivery pipelines using Jenkins.
  • 5. Why Jenkins Pipeline ● Jenkins file could be stored in SCM ● Single source of pipeline helps multiple users to contribute ● Audit Trail ● Pause/Start Pipeline for user’s inputs ● Easy to accommodate Complex Pipelines using loop, forks ● Easy job restoration during Jenkins Migration ● Resilient for unplanned restarts
  • 6. Pipeline Concepts Pipeline as Code via the Pipeline specific DSL syntax. Jenkinsfile Definition of Jenkins pipeline in a text file. ● Pipeline ○ A Pipeline is a user-defined model of a CD pipeline; a Pipeline’s code defines your entire build process. ● Node ○ A node is a machine which is part of the Jenkins environment and is capable of executing a Pipeline. ● Stage ○ A stage block defines a conceptually distinct subset of tasks performed through the entire Pipeline (e.g. "Build", "Test" and "Deploy" stages) ● Step ○ A single task. Fundamentally, a step tells Jenkins what to do at a particular point in time (or "step" in the process)
  • 7. Pipeline Syntax ● Declarative ● Scripted A Jenkinsfile can be written using two types of syntax:
  • 10. Demo ● Getting started with Pipelines ○ Using the Web UI to write Pipeline ○ Configuring Selenium Java repo ○ Publish TestNG reports ● Configuring your jenkins job for API tests with Jenkinsfile ○ Parameterize the job ○ Add stages ○ Publish reports ○ Trigger emails.
  • 11. References: - Getting started with Jenkins Pipeline -> https://www.jenkins.io/doc/book/pipeline/ Demo references: - Selenium java repo -> https://github.com/the-test-trove/Selenium-testNg-Maven - Configuring Jenkins job using Maven -> https://github.com/the-test-trove/Selenium- testNg-Maven/blob/main/jenkins_config/Jenkinsfile - API tests using lcc -> https://github.com/the-test-trove/api-tests-lcc - Jenkinsfile -> https://github.com/the-test-trove/api-tests- lcc/blob/master/jenkins_config/Jenkinsfile