Divya Kurothe
3 min readJul 28, 2020

--

Integration of Apache httpd with GitHub, Docker and Jenkins

Agile Development is an umbrella term for several iterative and incremental software development methodologies. Each day new code is deployed as the developers complete it. Automated testing ensures the code is ready to be deployed. Every code is first tested and monitored by the testing team to ensure there are no unforeseen problems and it is stable. The code is then deployed in the production environment after the monitoring shows that it is stable with least possible or no human intervention.

Jenkins is an automation server which can be used to build, test and deploy your code in a controlled and predictable way. The process of automatically building code in stages — and at each stage, testing and promoting it on to the next stage — is called a pipeline. Integrating Github with the Jenkins automation tool makes the deployment team easy by automatically deploying the code as soon as the code is committed by the developer.

Here in this project, I have integrated jenkins with docker and github to automate the deployment process.

JOB 1: When the code is present in the master branch, this job deploy the code into production environment as soon as job 3 is build successfully. It fetch the code from GitHub and launch docker container with apache webserver running and expose it to port 81.

JOB 2: This job will create a infrastructure for the testing team to test the code given by the developer. Here, the code is triggered as soon as it is committed. The docker container creates the required infrastructure for testing team in port 82 using remote url trigger.

JOB 3: Here the QA team will manually build job 3 using remote url trigger and test the website running in the environment. After its successful build this job will merge master branch and node branch and pushes it to GitHub.

Thanks for reading. Any advice and suggestions are greatly appreciated.

--

--