Setting up production and testing environments using docker , github and automating it using Jenkins.
About the Article
According to today's need , we require multiple different environment, one for production(main) and others for testing in order to maintain a clean and uninterrupted experience for clients. In this mini project , using docker , jenkins and git , I created 2 different environments , one for testing and the other for production where testing code will reside in dev branch and main code will reside in master branch . If QAT(Quality Assurance Team) certifies the testing code , it will be pushed to master branch in github which has the main code for production system.
Execution :
step1: Creating testing environment using docker that will pull the code from dev branch and deploy the code in that testing environment.
step2: Creating production environment using docker that will pull the code from master branch and deploy the code in that main/production environment.
step3: This job is for Quality Assurance team. They check the feature added in testing environment. If this feature meets the requirement then this feature is ready to launch in Production environment.
For deploying on production environment we need to merge dev branch with master branch. Once dev is merged with master branch a new commit is added in master branch and job will run.
Finally this dev code is deployed on production environment where the client can access.
So all the job is done , with a single click by QAT small changes get deployed to main server.