AzureDevOps+;Terraform-创建代理作业和作业任务

AzureDevOps+;Terraform-创建代理作业和作业任务,azure,terraform,devops,Azure,Terraform,Devops,我们有一个现有的AzureDevOps CI/CD。对于每个项目,我们必须手动设置它,并为每个项目逐个添加作业代理任务 现在,我们决定使用IaC使用Terraform自动部署它(因为我们也在其他项目中使用它)。但除此之外,还没有太多可用的文档。它确实有关于如何提供项目本身的信息,但没有管道和其他东西,目前有点有限,或者我可能无法找到可用资源的完整文档 我们热衷于使用Terraform来自动创建我们的CI/CD基础设施,但我无法创建代理工作和任务。去年我们创建了自己的分支,并添加了缺少的东西,如服

我们有一个现有的AzureDevOps CI/CD。对于每个项目,我们必须手动设置它,并为每个项目逐个添加作业代理任务

现在,我们决定使用IaC使用Terraform自动部署它(因为我们也在其他项目中使用它)。但除此之外,还没有太多可用的文档。它确实有关于如何提供项目本身的信息,但没有管道和其他东西,目前有点有限,或者我可能无法找到可用资源的完整文档


我们热衷于使用Terraform来自动创建我们的CI/CD基础设施,但我无法创建代理工作和任务。

去年我们创建了自己的分支,并添加了缺少的东西,如
服务连接等

但是,对于管道和类似的Azure DevOps,您希望使用
Azure pipelines.yml
作为实际的管道定义

要让Terraform和Azure定义一个构建,类似这样的东西可以工作:

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"
  }
}
因此,在回购协议中,您运行terraform时只需使用
azure pipeline.yaml
描述您希望执行的管道即可

Damian Brady在两年前的10月有一个很好的博客:

关于受支持的Azure DevOps YAML模式,还有很多文档:

熟悉了基础知识后,如果您发现了一些看似常见的模式,您可以开始考虑使用模板:


希望这有帮助

嗨,拉奇,我想你是对的。管道定义需要YAML文件。我之前有一个想法,那就是只有通过地形才能实现。无论如何,我们的部署现在使用这种方法运行良好。谢谢你,伙计!哇,真是太棒了,这对你有帮助@Jeff!当你掌握了正确的操作节奏,这很好!下一件事是看看如何使用Terraform为您运行Github!!