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.
Jenkins has the ability to be integrated with the other solutions we already had and can be easily used in all automation projects.
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: