DRY your DevOps Pipelines - Stop Duplicating and Start Innovating
Have you ever built a YAML pipeline and thought, “this seems crazy repetitive!”? It is typically the result of copy-and-paste reuse anti-patterns, where an engineer copies from one pipeline to the next, only changing hard-coded variables to suit the situation. By combining the 'template' and 'repository' mechanisms in Azure DevOps, we can build one YAML template for the entire company and reuse it everywhere. Examples could be: a .NET core build template or a Java deploy template, both of which would be used by the entire enterprise. Creating reusable libraries of YAML and scripting for building, scanning, and deploying your code will make your code more readable, simple and secure. Further discussions will detail how teams can adopt newer versions when ready for the change. We will then combine these ideas to build a "pipeline for pipelines", which allow teams to automate the creation of repositories and pipelines. This enables teams to self-service templatized automation without bottlenecking or hampering them with old-school governance.
Prerequisites
No prerequisites required.
Take Aways
- How to reduce duplication of scripting and pipelines
- Techniques of standardizing the setup of pipelines
- Managing multiple versions of reusable pipeline
- Enabling teams to share code and best practices