Automation plays a crucial role in both IT Ops and DevOps, but the two teams often use vastly different tools and methods. This disparity can lead to inconsistencies and production failures that are challenging enough to root cause, let alone resolve.
Jobs-as-code helps overcome this challenge. In this blog post, we’ll explore the benefits of the jobs-as-code approach and how Stonebranch Universal Automation Center (UAC) can help.
What is Jobs-as-Code?
Jobs-as-code helps bridge the gap between IT Ops and DevOps by enabling the development team to manage automation workflows just like application code — in the platforms they already use every day. These code files can then be versioned and managed in a source control management (SCM) system to easily track changes over time.
It’s a structured approach to automation that ultimately results in more efficient and reliable application delivery. There are several other benefits to using a jobs-as-code management process:
- More efficient collaboration among IT Ops and DevOps team members, as everyone can see and edit the same code files.
- Easier testing and validation of job configurations, as code changes can be checked into a CI/CD pipeline just like application source code.
- Streamlined management of complex environments that contain multiple job configurations, as everything is defined in code and can be easily tracked and updated.
Jobs-as-Code with Stonebranch UAC
The Stonebranch jobs-as-code solution seamlessly integrates its enterprise-grade automation and orchestration capabilities with the native platforms DevOps prefers to work in, including
- Integrated development environments (IDEs) like Visual Studio Code
- Source control management (SCM) repositories like GitHub and GitLab
The Universal Extension UAC Utility: Jobs-as-Code seamlessly transfers UAC objects (including tasks, triggers, and scripts) to SCM repositories. Developers can check out those object files to an IDE to create or modify job configurations as code. The jobs-as-code extension brings those code changes back into UAC, where they can be easily propagated from the Dev environment into QA and Production environments using UAC’s bundle-and-promote feature.
Manage UAC Definitions in an External Git Repository
Colin Cocksedge, Product Management Director for Stonebranch, recently recorded a webinar to explain the UAC jobs-as-code approach and provide a demonstration of the solution in action. Click here to watch the video on-demand or preview the trailer below.
In the webinar, Colin shares smart strategies to organize your Git repository, populate your repository, and automate updates between Git and UAC. He also walks through the four key steps to follow when managing UAC tasks and workflows in a remote repository:
- Export: The Stonebranch jobs-as-code extension exports UAC definitions to a Git repository in either JSON or YAML format.
- Update and version: Within Git, developers can check out the necessary UAC definitions, update the code in their preferred IDE, then push it back for versioning.
- Synchronize: The jobs-as-code extension merges definition updates from Git to UAC.
- Integrate: Only one UAC environment should be integrated with Git. UAC’s lifecycle management capabilities should be used to bundle and promote the updates to other environments after testing, as shown below.
Jobs-as-code is a powerful approach to manage automation definitions as part of the software development lifecycle, complete with version control, testing, and continuous integration. By treating job configurations as code, organizations can streamline collaboration, testing and validation, and improve the overall efficiency of their software delivery pipelines.
For UAC users, the Stonebranch jobs-as-code solution provides an easy and efficient way to manage job configurations in the delivery pipeline. This way, developers can focus on writing code while UAC automates and manages their delivery pipeline.