Using Simple Pipeline Templates in Azure DevOps
Implementing DRY practices

How to create a simple Pipeline Template
Create a file in a new or existing pipelines folder in your repository. I like to store these files in a directory of devops/pipelines/templates. Name the file based on the template action you would like to take. For my example, I will create a simple template for running a docker container called Super Linter, so I will call my file super-linter.yaml.
My template will have one step and will look like this:
steps:
- script: |
docker pull github/super-linter:latest
docker run -e RUN_Local=true -e VALIDATE_GITLEAKS=true -v $(System.DefaultWorkingDirectory):/tmp/lint github/super-linter
displayName: "Run Super Linter"
Save the file when ready.
How to use a template within the same Repository
In your existing pipeline file or a new one (not the template file), you can select the template file so it can be reused. To do this, you will need to add a self checkout step first:
steps:
- checkout: self
Then you will need to add the template file path as a next step to run the template:
- template: devops/pipeline/templates/super-linter.yaml
Remember, the template file path will differ from mine depending on where you locate your pipeline file.
How to use a template stored in a different Repository
Suppose you want to make this a reusable file across your entire repository stack, giving you a central location for templates across all projects. In that case, you will need to store this file in a repository and then complete the following in the pipeline file of the repo you want to run the pipeline from:
resources:
repositories:
- repository: name
type: type
endpoint: endpoint
name: repo name
ref: branch name
steps:
- checkout: self
- template: path/to/template/repo
The repositories section is the connection details to the repo where the template is stored. Follow these instructions to connect to your service connection/provider
Please make sure you change the template path to the path of the template repo.
About the author
Executive technology leader responsible for platform reliability, cloud operations, security posture, and enterprise technology risk within an investor-backed fintech environment. I lead technology operations at the intersection of engineering execution, governance, and business outcomes — ensuring platforms are scalable, resilient, and trusted by investors, regulators, and clients.
Currently VP of DevOps at InvestorFlow, where I focus on building board-ready technology operations, strengthening risk and resilience, and shaping long-term platform strategy to support growth and regulatory confidence.
Comments
Join the discussionNo comments yet. Be the first to comment.





