- Lab
-
Libraries: If you want this lab, consider one of these libraries.
- Cloud

Implementing Fully-Automated Deployment in a CD Pipeline
Many companies that practice continuous deployment use a hands-free, fully-automated deployment model. This allows them to ship code to production with various automated tests and sanity checks built into the process, bypassing the need for human intervention. In this lesson, you will implement a basic sanity check and see a simple fully-automated deployment pipeline in action. This will give you a hands-on introduction to the concept of fully-automated deployments.

Lab Info
Table of Contents
-
Challenge
Prepare the Jenkins environment and verify your configuration with an initial deploy.
To accomplish this, you will need to do the following steps:
- Fork the sample source code at: https://github.com/ACloudGuru-Resources/cicd-pipeline-train-schedule-autodeploy
- Change the
DOCKER_IMAGE_NAME
at the top of the Jenkinsfile to use your Docker Hub username instead ofwillbla
. - Log in to Jenkins.
- Add Jenkins credentials for GitHub, Docker Hub, and the Kubernetes cluster.
- Set up automatic GitHub hook management in Jenkins.
- Create a train-schedule project to build from your GitHub fork, and configure it to trigger automatically using a webhook.
- Successfully run, approve, and deploy a build.
-
Challenge
Add a smoke test with automated deployment and remove the human approval step from the pipeline, then deploy.
Do these steps to complete this:
- Create a Jenkins environment variable called
KUBE_MASTER_IP
and set it to the Kubernetes master public IP. - Add a smoke test to verify that the canary deployment is responsive.
- Remove the human input step from the deployment.
- Merge the code from the
new-code
branch into your master branch to initiate an automated deployment.
- Create a Jenkins environment variable called
About the author
Real skill practice before real-world application
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Learn by doing
Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.
Follow your guide
All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.
Turn time into mastery
On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.