Automated Web Development Environment
Submitted By Jenkins User Shivanshu Sharma
This DevOps intern set out to learn how to use Jenkins and all that it has to offer.
Industry: Information Technology
Platform: Docker or Kubernetes, Linux
Version Control System: GitHub
Build Tool: Maven, Apache Web Server in RedHat 8
Community Support: Jenkins Users Google Group or IRC Chat, Jenkins.io websites & blogs, Spoke with colleagues and peers
Eliminating the need for manual processes by
automating web development with Jenkins
Background: I am a student pursuing a Bachelor of Technology degree with experience in cybersecurity, penetration testing, and vulnerability assessment following reconnaissance and enumeration techniques. During my internship, I’ve explored the use of plugins. One plugin that I’d like to share is an Automated Web Development Environment integrating Git/GitHub, Jenkins, and httpd Web Server in RHEL-8.
Goals: Developing a DevOps adoption roadmap.
Solution & Results:
I’ve learned a lot about Jenkins. It is one of the essential tools in DevOps. You can use it to integrate all DevOps stages with the help of plugins, and there are 1,000s of them. In particular, I’ve explored the Continuous Integration development practice in which the developers are required to commit changes to the source code in a shared repository several times a day — or even more frequently. Every commit made in the repository is then built. This allows the teams to detect the problems early.
My Automated Web Development Environment project integrates Git/GitHub, Jenkins, and httpd Web Server in RHEL-8. With it, a developer only needs to commit the code from his local repository. From there, GitHub will automatically send the code to Jenkins using webhooks with any commit in a GitHub repo. Jenkins then launches the website into the Apache2 httpd server, which is set up in RHEL-8. This reduces a lot of manual environment provisioning. Developing an automation infrastructure is one thing that new developers should take on before getting too deep in development.
Depending on the Continuous Integration tool used, several other functions require a mention. These include deploying the build application on the test server and providing the concerned teams with the build and test results. I plan to explore them all!
This particular project has resulted in:
- Automated deployment
- Speeds that are faster than manual setup
- Fewer processes to be run simultaneously