Project 2: Implementation.

Project 2: Implementation.

Deploying web app using Jenkins CI/CD declarative pipeline.

Follow the steps:

  1. First of all, go to the AWS portal, and create a new instance. As

· Name: jenkins-server

· AMI: ubuntu.

· Instance type: t2.micro (free tier).

· Key pair login: Create > docker.pem.

· Allow HTTP.

· Allow HTTPS.

· (Download the .pem file.)

· Click on Launch Instance.

  1. Now, we will allow ports 8080 and 8001 for this machine from a security group. We can find the security group in the VM description. Now, here we need to allow “Inbound Rule”

  2. Now, connect to the EC2 instance that you have created. Copy the SSH from server:

No alt text provided for this image

  1. Go to the download folder, where the .pem file is placed and open the terminal in the same location, and paste the SSH.

  2. Install Jenkins from following link:

https://www.jenkins.io/doc/book/installing/linux/

  1. Install Docker by running:

“Sudo apt-install docker.io

  1. Now check if it got installed by running “jenkins --version” and “docker --version”

No alt text provided for this image

  1. Goto Jenkins Dashboard and Click on “New Item”

· Name: declarative_pipeline

· Select: Pipeline

Description: This is a demo pipeline project.

  1. Pipeline Script:
pipeline{

  agent any

    stages{

    stage{

    steps{

git branch: 'main', url: 'https://github.com/chxtan/react_django_demo_app.git'

          }

     }

 stage{

steps{

echo "Testing"

        }

    }

    stage{

      steps{

           script{

              sh "docker build --no-cache -t react_django_demo_app ."

                   }

            }

    }

stage{

        steps{

             script{

                  sh "docker run -p 8001:8001 -d react_django_demo_app"

                    }

               }

       }

  }

}

No alt text provided for this image

  1. Click on “Save”.

  2. Click on “Build Now”.

No alt text provided for this image

  1. We can click on “Stage View” to check the results if it is still under process.

No alt text provided for this image

  1. Once it will be completed, It will return as “Success”.

No alt text provided for this image

  1. Now, Search for the Public IP with port 8001 in the browser,

No alt text provided for this image

We have built the image of a Web app source code, and deployed that image as a container, using Jenkins Pipelines.