Jenkins Declarative Pipeline with Docker part-2 : #Day 27 Task
Table of contents
Day 26 was all about a Declarative pipeline, now its time to level up things, let's integrate Docker and your Jenkins declarative pipeline
Use your Docker Build and Run Knowledge
docker build - you can use sh 'docker build . -t <tag>'
in your pipeline stage block to run the docker build command. (Make sure you have docker installed with correct permissions.
docker run: you can use sh 'docker run -d <image>'
in your pipeline stage block to build the container.
How will the stages look
stages {
stage('Build') {
steps {
sh 'docker build -t trainwithshubham/django-app:latest'
}
}
}
Task-01
Create a docker-integrated Jenkins declarative pipeline
Use the above-given syntax using
sh
inside the stage blockYou will face errors in case of running a job twice, as the docker container will be already created, so for that do task 2
Task-02
Create a docker-integrated Jenkins declarative pipeline using the
docker
groovy syntax inside the stage block.You won't face errors, you can Follow this documentation
Steps:
Creating a two-tier-flask-app job in Jenkins with a declarative pipeline.
Add GitHub project URL.
Select Build Trigger types
Enable Webhooks from the GitHub flask app repository and add Jenkins server URL as payload URL.
Refresh the page to see the webhook added.
Add docker credentials in Jenkins and create an ID for that credentials
Write pipeline steps with the docker
two-tier-flak-app deployed successfully
Image is pushed on DockerHub
Able to access two-tier-flask-app
"Thank you for reading my blog! Happy Learning!!!๐
Stay tuned for more DevOps articles and follow me on Hashnode and connect on LinkedIn (https://www.linkedin.com/in/namratakumari04/ for the latest updates and discussions.
Subscribe to my newsletter
Read articles from Namrata Kumari directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Namrata Kumari
Namrata Kumari
Proficient in a variety of DevOps technologies, including AWS, Linux, Python, Shell Scripting, Docker, Terraform, Kubernetes and Computer Networking.