- Lab
- A Cloud Guru
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.
Path 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
What's a lab?
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.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.