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/
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.
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