【发布时间】:2021-09-16 17:32:11
【问题描述】:
我们的组织将 Github 和 Azure DevOps 用于 CI/CD 目的。我正在尝试使用 Terraform 自动化基础设施部署。每当提出 PR 时都会触发管道。在使用 Azure DevOps 进行 terraform 部署期间,我希望构建管道向 PR 添加注释。 PR 应该是terraform plan 摘要供应用程序所有者查看。
我正在使用以下代码,但由于某种原因,该任务没有发布变量的内容。评论内容为$(terraformOutput)。
我在这里遗漏了什么,或者我可以遵循任何文档/博客来完成这项任务吗?
- task: AzureCLI@2
displayName: 'Terraform Init and Plan'
inputs:
azureSubscription: <....>
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
export ARM_CLIENT_ID=$servicePrincipalId
export ARM_CLIENT_SECRET=$servicePrincipalKey
export ARM_SUBSCRIPTION_ID=$(az account show --query id | xargs)
export ARM_TENANT_ID=$(az account show --query tenantId | xargs)
terraform init -reconfigure -backend-config=storage_account_name=<...> -backend-config=container_name=<..> -backend-config=key=<..> -backend-config=resource_group_name=<...>
terraform workspace select prod || terraform workspace new prod
terraform validate
terraform plan -var-file=dummy.tfvars -no-color -out=tfplan
terraform show -json terraform.plan > terraform.json
addSpnToEnvironment: true
workingDirectory: '$(System.DefaultWorkingDirectory)'
failOnStandardError: true
- powershell: |
$terraformOutput = Get-Content "$(System.DefaultWorkingDirectory)/terraform.json" | ConvertFrom-Json
name: terraformOutput
displayName: Read terraform outputs
- task: GitHubComment@0
inputs:
gitHubConnection: 'post-pr-comment'
repositoryName: '$(Build.Repository.Name)'
comment: '$(terraformOutput)'
【问题讨论】:
标签: azure github azure-devops terraform pull-request