我已经为在Azure上构建一些IaC基础设施准备了terraform模块。目前我正在准备Azure管道的发布。我已经创建了所有的任务在我的管道。我想在多个环境上使用terraform部署,比如: dev、test、prod,所以我决定使用terraform工作区。我在开发环境的发布过程中准备了以下任务:terraform init、terraform validate、terraform plan、terraform apply。问题是,我不确定如何创建terraform工作区,然后使用terraform工作区。当我从经典编辑器创建azure管道时,有创建terraform工作区和选择terraform工作区操作的任务,但它们不像预期的那样工作。我试图使用管道变量到stora工作区名称,我使用terraform变量TF_WORKSPACE。由MS任务提供的Azure Devops YAML格式如下所示。
terraform工作区新任务
steps:
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-cli.TerraformCLI@0
displayName: 'terraform workspace'
inputs:
command: workspace
workingDirectory: '$(System.DefaultWorkingDirectory)/Project-Name/drop/Terraform'
workspaceSubCommand: new
skipExistingWorkspace: trueterraform工作区选择任务
variables:
TF_WORKSPACE: 'Development'
steps:
- task: charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-cli.TerraformCLI@0
displayName: 'terraform workspace'
inputs:
command: workspace
workingDirectory: '$(System.DefaultWorkingDirectory)/Project-Name/drop/Terraform'
workspaceName: '-TF_WORKSPACE $(TF_WORKSPACE)'发布于 2022-10-25 12:37:08
我在Azure DEvops管道中添加了额外的任务“命令行脚本”,并删除了terraform workspace new、terraform workspace select操作的两个任务。最后,管道按预期工作。
https://stackoverflow.com/questions/74097877
复制相似问题