we ended up creating our own forked off of this last year, and added things that were missing, like service connections and things like that.
However, for the pipelines and such Azure DevOps is expecting you to use azure-pipelines.yml for the actual pipeline definition.
To have a build defined by Terraform and Azure something like this would work:
resource "azuredevops_build_definition" "build_definition" {
project_id = azuredevops_project.project.id
name = "My Awesome Build Pipeline"
path = "\\"
repository {
repo_type = "TfsGit"
repo_name = azuredevops_azure_git_repository.repository.name
branch_name = azuredevops_azure_git_repository.repository.default_branch
yml_path = "path to your azure-pipelines.yaml file in the repo"
}
}
So within the repo you are running the terraform from just have azure-pipeline.yaml describing the pipeline you wish to execute.
Damian Brady has a good blog on this from October 2 years ago:
https://damianbrady.com.au/2018/10/10/what-yaml-do-i-need-for-azure-pipelines/
There is also a lot of documentation around the supported Azure DevOps YAML Schema:
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
Once comfortable with the basics you can start to look towards using templates if there are seemingly common patterns you find:
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#template-references
Hope this helps!