This post is from the XebiaLabs blog and has not been updated since the original publish date.
3 approaches to release orchestration using Jenkins
Today’s software world is divided into phases. With each phase comes a list of tasks waiting to be completed. And for every task there is a tool with a specific purpose in the pipeline. Wouldn't it make sense for all of these tools to work in sync with each other?
Jenkins is a fantastic resource to increase your pipeline’s capabilities for continuous integration. However, at its core, Jenkins is a scripting tool, and like all scripting tools, presents scaling challenges that come with meeting increased business needs. This is where release orchestration software helps. Digital.ai Release, formerly XL Release, allows you to model your software release process and save it as a template so you can execute your entire pipeline with a simple push of a button. With plug-ins on both the Jenkins and Digital.ai Release side, users can effortlessly integrate the two, ensuring a peaceful and harmonious process. To help you plan your unique DevOps pipeline, here are three examples of how to bring Jenkins and Digital.ai Release together. Pick the one that best suits your enterprise.
Approach 1: Digital.ai Release first
The Digital.ai Release first approach works great in scenarios where releases are triggered by regular process activities that have no precise order. You can start in one of three places: from Digital.ai Release itself, automatically from an outside tool using one of Digital.ai's, formerly XebiaLabs' many plug-ins, or anywhere else via Digital.ai's APIs. The first phase of the pipeline involves building release artifacts or verifying the build. Using Digital.ai Release's specialized plug-in architecture, you can configure access controls, configure returning artifacts and parameters, and track durations for reporting. As Jenkins continues to appear in subsequent phases to retrieve artifacts and fingerprints or even verify unit tests, you can use this information to make informed decisions on whether to move on to future phases. Although Jenkins is great for integrating a variety of tools that it can trigger, it’s important to remember that the orchestration from one pipeline phase to the next happens in Digital.ai Release. With this Digital.ai Release first approach, you can reap benefits from both tools in one effortless, unified orchestration.
Approach 2: Jenkins first
The Jenkins First approach is meant for releases triggered by code events or events on a regular schedule. Starting with Jenkins gives you access to the ample options and integrations it provides to listen for events. This approach calls for the use of the Jenkins Digital.ai Release plug-in to trigger a new release or pipeline run in Digital.ai Release. This lets users continuously call back to Jenkins as often and from whatever phases they’d like while still orchestrating the pipeline from within Digital.ai Release.
Approach 3: hybrid pipeline
Finally, the hybrid pipeline approach is typically used when on-boarding existing applications. As long as the plug-ins are present in both Digital.ai Release and Jenkins, this approach provides extra flexibility to trigger your release pipeline whenever and however many times needed. This approach allows for multiple pipelines to come together. As these tools make their way down the pipeline, a series of triggers can be set off to communicate jobs in the other tools. By automating Jenkins and Digital.ai Release to work in tandem, you allow yourself to enjoy the best of both tools. Like French fries and milkshakes or breakfast for dinner, the combination of Jenkins and Digital.ai Release is another example of two things that go together in the most perfect way possible. Soon you’ll begin to wonder how you ever got along without it.