Background: One of the challenges was that we had different build and deployment processes, depending on the technology and teams. In a scenario where you have developers in multiple units, they would have to learn new approaches, including new build tools and new deployment tools plus the manual tasks needed, not to mention the human error factor that is always lurking around. Demand for faster releases started to be a challenge in our scenarios, along with the human error in the manual tasks. The need to perform Code Quality Control, integrations tests, and return a report with results. With these issues on the table, automation was the solution, and Jenkins the way to go.
Goals: Automate project builds and deployments, simplifying the process regardless of the Programming Language or Platform.
Solution & Results: Jenkins allowed us to simplify and migrate all the build/deploy processes to the same place, following the same logic. It became one tool for all Dev Teams. They also became autonomous creating product pipelines, so a reliable release cycle is in place.
Releases became faster when deployed, even though Code Quality control and integration tests were added as extra steps. The percentage of human error (tasks incomplete, missing steps, wrong build) was significantly reduced, and as a bonus, we can monitor the state of the builds and get alerts when something fails. Now Jenkins is our only CI: more than 200 Pipelines working on Oracle Cloud, alongside Docker Hub, Artifactory, SonarQube, and Octopus Deploy.
Jenkins helped to make builds reliable. Less time spent tooling and more time spent coding.
Pipelines with parallel stages were a big bonus to perform simultaneous tasks in different agents. Another functionality is the Credentials Manager, the way credentials are stored and organized it is easy to see and use without compromising its Config File Management to store configurations used during certain pipelines. That can possibly change if we store them in the files management, ensuring that if changed all the pipelines get the right configurations.
Results were as follows: