This task is about again integrating jenkins,git,docker with some new concepts like sending mail and automatic lauching a new container if container fails. For building this steps that we have to follow:
1. Create container image that’s has Jenkins installed using dockerfile.
Dockerfile:
For building image:
#docker build -t <image_name> <path_of_dockerfile>
Launch a container through this image.
2. When we launch this image, it should automatically starts Jenkins service in the container.
After launching jenkins: 3. Create a job chain of job1, job2, job3 and job4 using build pipeline plugin in Jenkins
4. Job1 : Pull the Github repo automatically when some developers push repo to Github.
5. Job2 : By looking at the code or program file, Jenkins should automatically start the respective language interpreter install image container to deploy code ( eg. If code is of PHP, then Jenkins should start the container that has PHP already installed ).
6. Job3 : Test your app if it is working or not.
7. Job4 : if app is not working , then send email to developer with error messages.
If any failure occur a mail will be send to developer like this:
8. Create One extra job job5 for monitor : If container where app is running. fails due to any reson then this job should automatically start the container again.
Thank You!!