This post is from the XebiaLabs blog and has not been updated since the original publish date.
A Manager’s Guide to DevOps as Code, Part 2: How it Works
XebiaLabs’ DevOps as Code approach allows teams to define all of the components of their DevOps pipeline in code that they can version-control, share with other teams, and audit with ease. In Part 1, we took a look at some of the benefits of defining software delivery components as code. In Part 2, let’s see how DevOps as Code works.
Define components in the XL YAML format
The “code” part of DevOps as Code is based on YAML, a popular data serialization language. An XL YAML file has a nested structure that closely resembles the way that development teams would define items and their properties in the XebiaLabs GUI.
Apply YAML files with the XebiaLabs CLI
After developers define their release and deployment components in YAML code, they can use the XebiaLabs command-line interface (CLI) to apply that code to the XebiaLabs DevOps Platform. Applying the code creates components if they don’t already exist and updates their properties if they do exist. Users who are using the XebiaLabs GUI will see the changes immediately. And changes done via the CLI are protected by the same access control that XebiaLabs offers for the GUI and API.
Generate YAML files with the XebiaLabs CLI
The XL CLI also allows developers to generate YAML for items that are already defined in the XebiaLabs DevOps Platform. So, if you’re already using XebiaLabs, your development teams can quickly start managing and sharing their deployment and release components in code instead of in the GUI.
Preview and start deployments and releases with the XebiaLabs CLI
Development teams don’t even need to leave the XL CLI to release their applications. They can preview deployment plans and start release pipelines directly from the CLI.
Add the XebiaLabs CLI to Continuous Integration pipelines
Teams use XebiaLabs’ integrations with CI tools to build end-to-end pipeline automation, from code all the way to Production. The XL CLI makes it even easier for teams to automate their pipelines; they can simply invoke the CLI directly from a CI tool such as Jenkins, Travis CI, or Azure DevOps, eliminating the need to install a XebiaLabs plugin in the tool.
Adding the XL CLI to the CI/CD pipeline enables a development team to update infrastructure, environments, and release templates—continuously and automatically, just like they do for application code changes.