我正在遵循官方GCP repo中关于如何从云构建部署地形的教程:
cloudbuils.yaml
steps:
- id: 'branch name'
name: 'alpine'
entrypoint: 'sh'
args:
- '-c'
- |
echo "***********************"
echo "$BRANCH_NAME"
echo "***********************"
- id: 'tf init'
name: 'hashicorp/terraform:1.0.0'
entrypoint: 'sh'
args:
- '-c'
- |
if [ -d "environments/$BRANCH_NAME/" ]; then
cd environments/$BRANCH_NAME
terraform init
else
for dir in environments/*/
do
cd ${dir}
env=${dir%*/}
env=${env#*/}
echo ""
echo "*************** TERRAFORM INIT ******************"
echo "******* At environment: ${env} ********"
echo "*************************************************"
terraform init || exit 1
cd ../../
done
fi
我在日志中有以下模式:
2022-02-21 07:13:13.094 CETStep #3 - "tf apply": [32m+[0m [0m[1m[0munique_id[0m[0m = (known after apply)
2022-02-21 07:13:13.094 CETStep #3 - "tf apply": }
2022-02-21 07:13:13.094 CETStep #3 - "tf apply":
2022-02-21 07:13:13.094 CETStep #3 - "tf apply": [0m[1mPlan:[0m 7 to add, 0 to change, 0 to destroy.
这让调试变得更加痛苦,我确信这是一个简单的格式问题,但我找不到它的来源。
在链接1、链接2和链接3中也出现了类似的问题,其中提到:
显然Terraform试图使用颜色格式化输出。然而,Jenkins没有正确地输出这种格式,因此您可以在输出中看到那些不寻常的字符。能够通过使用-no-color标志使Terraform在输出中省略这些字符。该选项至少可用于Terraform的三个主要功能:显示、计划和应用。用
terraform show -no-color
解决
有关如何使用terraform、云构建和gitops将基础设施作为代码进行管理的更多信息,您可以参考此文档。