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.
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.
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:
We had great results using Jenkins, including: