The Road to Consistent Builds
Submitted By Jenkins User Shauna Wright
To support this aerospace and defense technology company, the engineers at this company transitioned to a new CI/CD pipeline which provided a single source of record and the ability to sync their daily build process across multiple teams.
Organization: Global technology company
Industry: Aerospace & Defense
Programming Language: Java, Node.js, Python
Platform: Docker or Kubernetes, Linux, Windows
Version Control System: GitLab
Build Tool: Maven
Community Support: Jenkins.io websites & blogs
Developing a consistent, near-effortless build process for multiple teams.
Background: This company provides expertise and technology in support of national security missions and government transformation for defense, intelligence, and civilian customers. The technology team maintains a baseline on multiple networks and has numerous repositories to release. Because of this, they transitioned to a new Continuous Integration and Delivery pipeline that provides a single source of record while allowing them cross-network sync of day-to-day build processes.
Goals: Shorten integration and minimize the effort required at each release and on each network.
Solution & Results: To build this new CI/CD platform, we chose to use Jenkins pipelines, which enabled us to create a suite of pipeline libraries and jobs and allowed us to fully control the build & deployment of our releases across networks. Best of all, we were able to coordinate all the build jobs in a configurable, reusable fashion.
The key Jenkins capabilities we employed were pipelines, as mentioned, as well as pipeline libraries and Job DSL.
While our pipelines are pretty straight forward, Jenkins allows us to manage them consistently across the organization. Also, Jenkins has the flexibility to handle unique build processes in a documented and controlled fashion.
We now have a single source of record for our build process, but using Jenkins also allows us to sync that process to other networks as applicable. Our new CI/CD pipeline enables us to:
- simplify the build process for the development team
- require less effort to set up our build environments on different networks
- maintain consistent build processes across multiple teams