Background: Working for a large global automotive company requires rapid development and speed to market. That involves all of our developers being in sync all of the time. Before we migrated to Jenkins, our company was relying on dated software: our build tool and framework were non-standard, and applications were using legacy tools (ant, as an example) and an old struts framework. The company also lacked a standard code scanning tool, such as Sonar. All of this led to a multitude of security vulnerabilities and slower release schedules. Without a standardized toolset, the build tools and processes made everything extremely difficult.
Goals: Our main focus was to create a complete standardization of all CI/CD across all projects in the organization. Our goal was to achieve a predictable behavior and process while also standardizing framework, build tools, security/scanning tools, testing tools, etc.
"We chose Jenkins because it is battle tested and has community support like no other. Literally, there is nothing that can’t be achieved using Jenkins.“
Solution & Results: As part of the migration effort, we needed to standardize the toolset in the entire CI/CD process. We chose Jenkins because it is battle-tested and has community support like no other. Literally, there is nothing which can’t be achieved using Jenkins. **
We set up a shared pipeline concept of Jenkins and provided CI/CD solutions to application teams (aka pipeline-as-a-service). This way, the app teams would not need to worry about writing long groovy pipeline code. They can focus on writing business logic, and the shared pipeline has intelligence built-in to build, unit-test, lint, package, publish, and deploy to our target environment. **
Jenkins has been awesome with its rich plugin ecosystem. But it’s the flexibility of allowing us to write our own plugins that has made Jenkins the most critical and widely used tool in our organization.
Because of the rich community plugin support and ease of writing our own, we were able to design and customize our workflow and solutions. For example, we integrated Jenkins with our on-prem secrets manager using a custom plugin, hosted on AWS Cloud, so that we do not store any secrets in Jenkins. The other useful plugins we used are ECS, Artifactory, Email, Pipeline, Office365, Kubernetes, monitoring, and config-history.**
Jenkins rocks because it is fast, flexible, and easy to use. It’s also easy to manage for administrators. As no prior training is needed for new users, Jenkins is a dream platform for IT professionals. With our new CI/CD platform, we were able to achieve our goals and more, including:
increased velocity
predictable behavior
reduced time to market
increased release frequency
reduced change failure rate