Jenkins is the way to fully grasp the benefits of CI/CD

Educational Ecosystem and Jenkins

Submitted By Jenkins User Elena Condurachi
Accelerating build and release times with Jenkins pipelines for a global education service.
Industries: Education
Programming Languages: Apex, Typescript
Version Control Systems: Bitbucket Server
Community Support: Jenkins.io websites & blogs

Giving Salesforce a boost with Jenkins Pipelines.

Background: The main challenge was to incorporate — and have in one single place --a seamless validation and deployment of our Salesforce project, with a third-party front-end framework. That implied minimizing human input and decreasing the release time by integrating some of the necessary pre- and post-deployment steps. 

Initially, just one of our sandboxes was set up for CI and there was a freestyle project for each step. Although the builds were sequential and had a scheduled pull, we felt that it was limited. After validating and integrating the changes, the development team would have to locally pull the latest and do an Ant deploy. Things had to change. 

Goals:  Simplifying and creating a reliable, innovative ecosystem for students and universities around the globe.

"Since we have managed to set up the pipelines for the main, essential sandboxes, the releases have now become shorter, less stressful and less involved."
image— Elena Condurachi, Tech Lead

Solution & Results:  We moved to Jenkins Pipelines and covered all three steps, specifically declarative pipelines which were easy to set up and Blue Ocean made it easy to visualize. Having a  Stage View, the failures were easier to debug.

We then proceeded to configure the projects for UAT and production. That meant running Apex tests, as well. Doing so added to the build time and we experienced timeouts issues. Being able to monitor the situation came in handy; it turned out that we needed to increase the heap memory. Once that was done, the pipelines ran smoothly.

We made use of all these great plugins and features:

  • Blue Ocean

  • JavaMelody

  • Git

  • Ant

  • SAML

  • Pipeline Plugin

We had great results using Jenkins, including:

  • Shorter build times

  • Release times which also decreased from more than half a day to around 2 hours

  • A better, more comprehensive feedback for the development team