Jenkins is the way to create temporary review application via full automation

Making Review Application With Jenkins

Submitted By Jenkins User Aditya Soni
A cloud engineer at Searce using Jenkins to automate review of the build, release, deploy processes for his team.
Company: Searce
Industries: Cloud Engineering, Software Development, DevOps Automation
Programming Languages: Python, Ruby, Groovy
Version Control Systems: GitHub
Community Support: Jenkins.io websites & blogs, Jenkins Users Google Group or IRC Chat, Spoke with colleagues and peers

The creation of a Heroku-like review process with the help of Jenkins.

Background: We needed to solve a Ruby review application. One in which we could build and deploy for any instance. We also wanted it to be automatically verified and push it to stage and into production.

Goals:  To create a review application that will only merge once code changes are deployed and verified. We wanted Heroku-like functionality.

"Jenkins works great towards integration of different Open Source tools. You can play around with whatever problem you have and Jenkins always has a solution for it."
image— Aditya Soni, Cloud Engineer, Searce

Solution & Results:  Jenkins played a great role for integrating all tools. 

We created a pipeline that will allow any code changes to the VCS software system and let it run by itself. Any developer who has done code changes and wants to see how the build will look can create a pull request.  The pull request will be open through the Jenkins-pipeline, which will be a trigger to GitHub Payload to respond.

There was no plugin available to perform this kind of stuff, so we did some R&D and created conditions according to Json of payload. Once a developer is satisfied with changes, (s)he will merge the code in the main/master branch. Hence the pull request will be closed and at the backend and the pipeline will do its task.

We are deploying it on our virtual machine with the help of multiple docker containers, and later on we’ll deploy on Kubernetes.

We achieved the results we were hoping for, including:

  • Heroku-like review feature created

  • Solving the issue to act as per pull requests

  • Build logs and deployment of  URL exposed features to GitHub