100% found this document useful (4 votes)
4K views11 pages

Certification Project - Devops: Edureka! Authored By: Viraj Sawant

This document provides steps to set up a continuous integration and continuous delivery (CICD) pipeline using Jenkins, Ansible, Puppet, and Docker. It involves setting up a Jenkins master VM and slave node to run builds and tests. The pipeline installs necessary tools like Git, builds a PHP Docker image from a code repository, deploys it to the slave, and runs Selenium tests. Puppet is used to configure the slave node and install Docker. Jenkins jobs are created to install Puppet agent, sign certificates, trigger Docker installation, deploy the website and run tests, and clean up if tests fail.

Uploaded by

Visa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
4K views11 pages

Certification Project - Devops: Edureka! Authored By: Viraj Sawant

This document provides steps to set up a continuous integration and continuous delivery (CICD) pipeline using Jenkins, Ansible, Puppet, and Docker. It involves setting up a Jenkins master VM and slave node to run builds and tests. The pipeline installs necessary tools like Git, builds a PHP Docker image from a code repository, deploys it to the slave, and runs Selenium tests. Puppet is used to configure the slave node and install Docker. Jenkins jobs are created to install Puppet agent, sign certificates, trigger Docker installation, deploy the website and run tests, and clean up if tests fail.

Uploaded by

Visa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Certification

Project - DevOps

MAY, 2020

edureka!
Authored by: Viraj Sawant

1
Steps for executing the solution:
CICD Setup:

• Use the Master VM for Jenkins, Ansible, Puppet, GIT etc.

- Created a Master on GCP VM with Ubuntu(18.04) and installed Jenkins, Ansible, Puppet, (GIT –
Since it is Ubuntu Machine by Default it is present)

Jenkins:

Ansible:

Puppet:

Git:

2
• Use anther GCP VM with Ubuntu (18.04) for Jenkins Slave Node (Test Server)

• Add Build Pipeline Plugin and Post-build task plugin to Jenkins on the master VM

• Install python, openssh-server and git on the slave node manually

Python:

Openssh-server:

Git:

3
• Set up the necessary tools such as git, chromedriver(selenium), chromium
browser(selenium) on the slave node through Ansible

Execution:

4
Created ‘docker.pp’ file for docker installation

Confuigured Puppet on controller machine to install docker puppet agent on test server

Configured the ‘init.pp’ under puppet module /ops/manifests

Build the puppet module ‘ops’

5
Installed the puppet module ‘dev-ops-0.1.0.tar.gz’

Use the image devopsedu/webapp and add your PHP website to it using a Dockerfile

• Created a Selenium Test for PHP website.

• Push the PHP website, Dockerfile and Selenium JAR to a git repository

6
Below tasks should be automated through Jenkins by creating a pipeline:

1. Install and configure puppet agent on the slave node (Job 1)

JOB 1 - Install Puppet Agent on Slave

7
2. Sign the puppet certificate on master using Jenkins (Job 2)

JOB 2 - Sign the puppet certificate

3. Trigger the puppet agent on test server to install docker (Job 3)

JOB 3 - Install Docker on the TestServer

job to run even if this job fails, as a workaround.

8
1. Pull the PHP website, Dockerfile and Selenium JAR from your git repo and build and deploy
your PHP docker container. After this test the deployment using Selenium JAR file. (Job 4)

JOB 4 - Deploy and Test Website

9
2. If Job 4 fails, delete the running container on Test Server

10
Jenkins Delivery Pipeline:

11

You might also like