Jenkins is the way to develop an easy lifestyle for developers

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.
Industries: Information Technology
Programming Languages: PHP, Javascript, CSS, HTML
Version Control Systems: GitHub
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.

"The most awesome thing about Jenkins is continuous integration, deployment, and many other DevOps workflows."
image— Shivanshu Sharma, DevOps Intern

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