Day 24 Task: Complete Jenkins CI/CD Project
Streamlining CI/CD: Harnessing GitHub-Jenkins Webhook Integration
Let's make a beautiful CI/CD Pipeline for your Node JS Application
Task-01
Fork https://github.com/LondheShubham153/node-todo-cicd.git repository.
Create a connection to your Jenkins job and your GitHub Repository via GitHub Integration.
To generate the SHH key for integration use theshh-keygen
command for public and private keys.To create a Public key we have to use
cat /home/ubuntu/.ssh/id_rsa.pub
To configure the GitHub Goto account setting < SHH and GPG keys and paste the ssh-rsa key here.
Read About GitHub WebHooks and make sure you have a CICD setup.
For webhook goto to github repo's setting < Webhooks and add webhook
Webhook services
To install GitHub integration plugins go to the Jenkins dashboard > Manage Jenkins > Plugins
To create a new job with freestyle project.
Add git repo for clone https://github.com/Chandreshpatle28/node-todo-cicd-jenkins.git
Select Git and Add a private key to git credentials
Task-02
In the Execute shell run the application using Docker compose
You will have to make a Docker Compose file for this Project
Run the project and give yourself a treat
Webhook Triggered as we got the green tick on webhook services
The below build is automatic as we change something in the project after the commit changes build started.
As shown below Started by GitHub push by GitHub username
In brief, the GitHub-Jenkins webhook integration for CI/CD synergizes version control and automation, expediting development cycles and elevating code quality. This fusion enhances collaboration, delivering efficient and reliable application deployment. Leveraging this integration is pivotal for modern software development, enabling agile and effective practices.
Stay in the loop with my latest insights and articles on cloud ☁️ and DevOps ♾️ by following me on Hashnode, LinkedIn (https://www.linkedin.com/in/chandreshpatle28/), and GitHub (https://github.com/Chandreshpatle28).
Thank you for reading! Your support means the world to me. Let's keep learning, growing, and making a positive impact in the tech world together.
#Git #Linux Devops #Devopscommunity #90daysofdevopschallenge #python #docker #Jenkins