DevOps Pipeline Project:
Hello guys!
This is a mini project of DevOps made by me and Ruchi Verma.
This project is an integration of RedHat8 , Docker, Git and Jenkins
About the project:
This project is made to automate almost the complete process from uploading of website by the developer to GitHub till the deployment of a website in the real world after testing and getting approval by the Quality Assurance Team.
STEPS OF EXECUTION OF PROJECT:
STEP 1:
creating 2 folders on the RedHat OS(running on VMWare Virtual Box), one for testing-system and one for production-system
STEP 2:
Creating a git repository on using GitBash from my system on Github and later cloning it on the remote system using 'git clone URL' command.
Have also created post-commit hooks so that as soon as the user commits the code it directly gets pushed to Github.
Then, creating 2 branches:
- master branch (which we have by default) and
- a feature branch (dev1 for developer)
STEP 3:
Creating 1st job named 'docker-master' in Jenkins which keeps an eye on the GitHub and as soon as the master branch commits the code, the job gets automatically triggered, it downloads the code to the production-folder and hosts the code in the production environment hosted in Red Hat 8 using docker.
STEP 4:
Creating 2nd job named 'docker-dev1' in Jenkins which keeps an eye on the GitHub and as soon as dev1 branch commits the code, the job gets automatically triggered, it downloads the code to the testing-folder and hosts the code in the testing environment hosted in Red Hat 8 using docker.
STEP 5:
Creating a 3rd job. After testing of code given by the developer in the testing environment if the Quality Assurance team verifies the code, this 3rd job merges the branch dev1 with the master branch.
This job can be triggered using a URL and authentication token.
After this job the tested code get merges with the master branch code and the website gets hosted.
This project can bridge the gap between the developer and the operations team in a company.
With the help of this project, as soon as a developer commits code, it directly gets hosted in the production environment and if the code gets updated by a junior developer, firstly the code gets tested by being hosted in a testing environment and if it is approved, the code gets merged with main developers code and gets hosted in the production environment.