Jenkins Pipeline - cloudeguru/Jenkins GitHub Wiki
# Architecture:
# What is Jenkins Pipeline ?
A Jenkins pipeline is a way to define your software delivery process as code. It allows you to script your entire build, test, and deployment process in a single file called a Jenkinsfile. This file contains all the stages, steps, and conditions needed to automate your CI/CD pipeline.
# Why Jenkins Pipeline over Freestyle jobs ?
# 1. Code as Configuration:
With Jenkins pipeline, your CI/CD process is defined as code, making it easier to version-control, review, and collaborate on changes. It's like writing a script for your deployment process, which gives you more control and flexibility.
# 2. Reusability:
Pipeline scripts can be reused across different projects, making it easy to standardize your CI/CD process across your organization. You can define common stages and steps once and use them in multiple pipelines.
# 3. Visibility and Transparency:
Jenkins pipeline provides better visibility into your entire CI/CD process. You can see the entire pipeline execution in a single view, including the status of each stage and step. This transparency makes it easier to troubleshoot issues and understand the flow of your builds.
# 4. Pipeline as Code:
Jenkins pipeline allows you to treat your CI/CD process just like any other piece of code. You can use version control, code review, and automated testing practices to ensure the quality and reliability of your pipeline code.
## Terminologies:
# 1. Pipeline:
A pipeline in Jenkins is a series of stages and steps that define the entire software delivery process, from building and testing to deploying the application.
# 2. Agent:
An agent is a machine where pipeline stages are executed. It can be the Jenkins master or a separate agent node.
# 3. Stage:
A stage represents a distinct phase or step in the pipeline, such as build, test, or deploy.
# 4. Step:
A step is a single task or action performed within a stage. Steps can include shell commands, script execution, or Jenkins plugin calls.
# 5. Pipeline as Code (Jenkinsfile):
Pipeline as Code is the practice of defining your CI/CD pipeline in a script file, typically named Jenkinsfile, which is stored alongside your application code.
# 6. Parallel:
The parallel directive allows you to execute multiple tasks concurrently within a stage.
# Required Plugin:
Pipeline groovy lib