
Push your source code to a GitHub repository with git add, commit, and push, using a personal access token for authentication in CI/CD.
Set up two Ubuntu 22.04 VMs on AWS for Jenkins and SonarQube servers, configure HTTP and HTTPS access, and prepare to install required packages.
Launch and run a SonarQube container with Docker, mapping port 9000, naming the container, and verifying with docker ps to access via the public IP and port 9000.
Install the required plugins on Jenkins to integrate tools such as Sonarqube, Java, NodeJS, Trivy, OWASP, and Docker by using Manage Jenkins, plugins, search, install, and restart.
Configure the JDK tool in Jenkins by adding a JDK 17 installation, enabling automatic installs, and installing from adoptme dotnet before saving the settings.
Create a webhook on the SonarQube server to trigger actions after analysis completes and wait for quality gate to abort the pipeline if it fails.
If you are familiar with DevOps tools such as Git, Jenkins, Maven, SonarQube, Trivy, OWASP, and Docker but do not understand how they work together, then learning these tools will be of no use to you.
This course module will provide you with a conceptual understanding of how to integrate these tools to deploy an online Bingo web application.
This course module will provide you with hands-on experience in a real-time DevOps project using Node.js with a CI/CD Jenkins pipeline.
If you are interested in understanding the logical workflow of a DevOps project, then this course is designed for you.
Course Content:
Section 1: Introduction
-> Introduction
-> Course Overview
Section 2: Git Bash and GitHub
-> Create a GitHub repository for a Bingo application
-> Install Git Bash
-> Clone the GitHub repository to your local system
-> Generate a personal access token
-> Push the source code to a GitHub repository
Section 3: Set up the DevOps Environment on AWS
-> Set up virtual machines for Jenkins and SonarQube servers
-> Installation of Docker on a SonarQube server
-> Authenticate to DockerHub from the SonarQube server
-> Run SonarQube using Docker
-> Access the SonarQube Server via the URL using port 9000
-> Installation of Jenkins
-> Access the Jenkins Server via the URL using port 8080
-> Customize the Jenkins Server
Section 4: Plugins required on the Jenkins server
-> Required Plugins on Jenkins Server
Section 5: Configure tools on the Jenkins server
-> Configure JDK tool
-> Configure SonarQube Scanner tool
-> Configure Node.js tool
-> Configure Dependency-Check tool
-> Configure Docker tool
Section 6 : Set up a connection from Jenkins to the SonarQube server
-> Set up a connection from Jenkins to the SonarQube server
-> About Webhook
-> Configure a webhook
-> Add SonarQube Server
Section 7: Jenkins CI/CD pipeline job to clean and check out the project
-> Create a job to clean the workspace
-> Add a stage in the pipeline to check out the project
Section 8: SonarQube - Code quality tool for better code
-> Add a stage to the pipeline for SonarQube analysis
-> SonarQube Analysis command using `withSonarQubeEnv`
-> Run the job and check the SonarQube report
-> Add a stage WaitforQualityGate
-> Run the job to verify the WaitforQualityGate
Section 9: Install Node.js dependencies, use npm command
-> Add a stage to Install Node.js dependencies
Section 10: OWASP tool -Security testing tool
-> Add a stage to perform OWASP scanning
-> Explore the OWASP report
Section 11: Trivy scanning tool
-> Add a stage to perform trivy fs scanning
-> Explore the trivy report
Section 12: Build the Docker image and then push it to DockerHub
-> About the Docker Build
-> Add a stage to build the Docker image for a Node.js project
-> Dockerfile for building the Docker image
-> Run the job to verify the Docker Image
-> Push the Docker Image to DockerHub
Section 13: Trivy - Scanning on Docker Image
-> Add a stage to scan the docker image
-> Explore the trivy report
Section 14: Deploy the Node.js web Application
-> Add a stage to deploy the Docker Image/Node.js Project
-> Access the Node.js web application through the URL
Section 15: Domain Registration and SSL Certification
-> Register a free domain
-> Install nginx
-> Modify the 'A' record DNS for the registered domain
-> Install and obtain the SSL Certificate
-> Last lecture