0
0
Jenkinsdevops~5 mins

What is Continuous Delivery vs Continuous Deployment in Jenkins - CLI Guide

Choose your learning style9 modes available
Introduction
Continuous Delivery and Continuous Deployment help teams deliver software faster and more reliably. They automate steps to get code changes ready for users, reducing manual work and errors.
When you want to automatically prepare your software for release but review it before going live.
When you want every code change to be automatically tested and deployed to users without manual steps.
When you want to reduce the risk of bugs by releasing small, frequent updates.
When you want to improve team collaboration by automating build and test processes.
When you want to speed up feedback from users by delivering updates quickly.
Commands
This command updates or creates a Jenkins pipeline job from the YAML file. It sets up the automation for building, testing, and deploying your app.
Terminal
jenkins-jobs --conf jenkins.ini update my-pipeline.yaml
Expected OutputExpected
Job 'my-pipeline' updated successfully
This command starts the Jenkins pipeline job manually to run the automated steps defined in the pipeline.
Terminal
jenkins build my-pipeline
Expected OutputExpected
Started build #1 for job 'my-pipeline'\nBuilding in workspace /var/lib/jenkins/workspace/my-pipeline\n[Pipeline] Start of Pipeline\n...\nFinished: SUCCESS
This command shows the current configuration of the Jenkins job to verify the pipeline setup.
Terminal
jenkins get-job my-pipeline
Expected OutputExpected
Job: my-pipeline\nStatus: Enabled\nLast Build: #1 SUCCESS
Key Concept

If you remember nothing else, remember: Continuous Delivery prepares your code for release automatically but waits for your approval, while Continuous Deployment releases every change automatically to users.

Common Mistakes
Confusing Continuous Delivery with Continuous Deployment and expecting automatic releases without approval.
This causes confusion about when code reaches users and can lead to unexpected live changes.
Understand that Continuous Delivery requires manual approval before release, while Continuous Deployment does not.
Not automating tests in the pipeline, leading to risky deployments.
Without tests, bugs can reach users causing failures and downtime.
Include automated tests in your Jenkins pipeline to catch issues early.
Summary
Continuous Delivery automates preparing code for release but waits for manual approval to deploy.
Continuous Deployment automates releasing every change to users without manual steps.
Jenkins pipelines automate building, testing, and deploying software to support these practices.