如何在Azure DevOps流水线摘要标签页中规范展示Terraform计划?
解决Terraform计划在Azure DevOps摘要中格式混乱的问题
问题根源是uploadsummary会把上传的文件内容当作Markdown解析,Terraform计划里的#、+等符号触发了Markdown格式规则,导致显示错乱。解决思路是把Terraform计划内容包裹成Markdown代码块,让摘要以代码格式渲染,保留原计划的排版。
具体实现步骤:
调整Terraform任务保存计划输出
使用TerraformTaskV4@4执行计划时,把输出写入文件:- task: TerraformTaskV4@4 inputs: provider: 'azurerm' command: 'plan' commandOptions: '-out=tfplan' environmentServiceNameAzureRM: '你的Azure服务连接名'编写Bash任务处理计划格式并上传
读取tfplan文件的可读输出,用Markdown代码块包裹后写入摘要文件,再调用uploadsummary命令:# 把Terraform计划转成可读格式并包裹成Markdown代码块 terraform show -no-color tfplan > tfplan.txt echo "## Terraform 执行计划" >> summary.md echo '```terraform' >> summary.md cat tfplan.txt >> summary.md echo '```' >> summary.md # 上传到Azure DevOps流水线摘要 echo "##vso[task.uploadsummary]summary.md"
补充说明:
- 用
-no-color参数去掉Terraform输出的颜色代码,避免摘要里出现乱码字符 - 代码块指定
terraform语法高亮,会让计划内容的关键字更清晰 - 可以根据需要在summary.md里添加自定义标题,让摘要页更规整
内容的提问来源于stack exchange,提问作者AnjK
相关产品推荐
相关产品推荐

