DevOps: Build A CICD process for a web application. Budget less than 5k.
Budget: ₹1,500 – ₹12,500 INR
Its a very easy task which take your few hours only.
Steps as mentioned below.
- The name of the job should be: hit-web-server
- The Docker repository should be existing
- The Stages of your Pipeline should be:
1. Checkout your private repository upon a merge to main
branch
a. The jenkinsfile should be also on the repository, means
that it also will be pulled.
2. Build your application in a docker container and tag it with the
a. The name of the image should be the job name
b. The tag of the image should be the job number
3. Upload the container to Dockerhub
4. Deploy the Application to QA (the name of the docker will be
(application-qa)
5. Run Automation tests (Selenium and Rest assured) + Publish
report (Using the junit plugin)
a. Rest assured - Get to the application returns 200
b. Selenium - Open the page and verify your name
If it passes and there is a tag to the push with v*
Deploy the Application to PROD (the name of the docker
will be (application-prod)
If it passes and there is no tag of v*
Skip deployment to prod
If it fails:
a. Skip the deployment to prod
6. Finish
additional configuration:
● Add job description
● Print job logs during the build
● Add to the job timeouts
Tips:
The repository shoud look like:
Automation - will contain all the automation tests
webServer - will contain html file and dockerfile
Steps as mentioned below.
- The name of the job should be: hit-web-server
- The Docker repository should be existing
- The Stages of your Pipeline should be:
1. Checkout your private repository upon a merge to main
branch
a. The jenkinsfile should be also on the repository, means
that it also will be pulled.
2. Build your application in a docker container and tag it with the
a. The name of the image should be the job name
b. The tag of the image should be the job number
3. Upload the container to Dockerhub
4. Deploy the Application to QA (the name of the docker will be
(application-qa)
5. Run Automation tests (Selenium and Rest assured) + Publish
report (Using the junit plugin)
a. Rest assured - Get to the application returns 200
b. Selenium - Open the page and verify your name
If it passes and there is a tag to the push with v*
Deploy the Application to PROD (the name of the docker
will be (application-prod)
If it passes and there is no tag of v*
Skip deployment to prod
If it fails:
a. Skip the deployment to prod
6. Finish
additional configuration:
● Add job description
● Print job logs during the build
● Add to the job timeouts
Tips:
The repository shoud look like:
Automation - will contain all the automation tests
webServer - will contain html file and dockerfile