Jenkins is the way to automate everything

EHS Automation Project

Submitted By Jenkins User Yazeed AL-Smadi

Jordan-based healthcare organization seeks a faster way to help citizens get treatment without physically entering a hospital, especially during the COVID-19 pandemic.

Organization: Electronic Health Solutions, https://ehs.com.jo/ 

Industry: Healthcare

Team members: Zubaida Masalha, Senior DevOps Engineer; Ayoub Bourine, Intermediate DevOps Engineer; Mohammad Sharf, IT director, and Yazeed AL-Smadi, DevOps Team Lead, Electronic Health Solutions

Project URL:  http://emed.hakeem.jo/

Programming Language: PHP

Platform: Docker or Kubernetes, Linux

Version Control System: GitLab

Build Tool: Jenkins

Reducing DevOps problem tickets by over 90% by using Jenkins.

Background: At Electronic Health Solutions, we like to say that we are are using technology for better healthcare in Jordan. But, since we are working with multiple government bureaus, they frequently have new requirements that we must abide by. It can typically take an entire day to catch up between new fixes from the developer and UAT (user acceptance testing). At the beginning of the COVID-19 pandemic, this delay was too long as we were trying to find faster ways to get healthcare and safety information to Jordanian citizens. 

Goal: With the rise of the coronavirus, it was imperative to find a way to help the citizens of Jordan get medicines without having to physically enter a care facility.

“Jenkins has the ability to be integrated with the other solutions we already had and can be easily used in all automation projects.”
Yazeed AL-Smadi, DevOps Team Lead, Electronic Health Solutions

Solution & Results:  We have three software development stages at Electronic Health Solutions: QC, UAT, and Staging. During each step, it was necessary to deploy the PHP code manually. This took around 30 minutes to achieve. We searched for the best technology to automate the deployment steps, such as connection strings and implemented database schema. Eventually, we came upon Jenkins.

Using Jenkins, we build a parametrized project that can be used by variant teams. They specify the version of the application they want to develop, and Jenkins takes responsibility to create the PHP code and does the necessary configurations automatically. Jenkins deploys the new PHP version directly to the UAT environment when the developer commits it. The customer receives a notification when the new fix has been released and can provide testing without human interaction.

Prior to using Jenkins, we were averaging 66 tickets received per day. After incorporating Jenkins, we now deal with fewer than five tickets per day — and most of these are for Jenkins maintenance from the software teams.

Overall, we saw the following results:

  • time efficiency 
  • easy to trace the build issue and debug code issues
  • less effort and effective time complexity

Like what you see? Share your Jenkins user story today.

Jenkins® is a CD Foundation project and a registered trademark of Software in the Public Interest, Inc. Copyright Jenkins 2020