Educational Ecosystem and Jenkins
Submitted By Jenkins User Elena Condurachi
Accelerating build and release times with Jenkins pipelines for a global education service.
Programming Language: Apex, Typescript
Version Control System: Bitbucket Server
Build Tool: Ant
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.
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
- 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