【发布时间】:2020-08-21 20:17:38
【问题描述】:
在我的开发中,我正在测试是否有办法将 cloudbuild.yaml 构建步骤 (Terraform) 复制到 TerraForm Cloud Build Trigger Build>Step 资源。我已经关注了
resource "google_cloudbuild_trigger" "build-trigger" {
provider = google-beta
project = var.project
github {
owner = "github repo"
name = var.name
push {
branch = var.branch
}
}
build {
step {
id = "branch name"
name = "alpine"
entrypoint = "sh"
env = [
{
BRANCH_NAME = var.branch
}
args = [ "-c" , "echo ${BRANCH_NAME}" ]
}
}
description = "Push to any branch"
filename = "cloudbuild.yaml"
}
steps:
- id: 'branch name'
name: 'alpine'
entrypoint: 'sh'
args:
- '-c'
- |
echo "***********************"
echo "$BRANCH_NAME"
echo "***********************"
# # #[start tf-init]
- id: 'tf init'
name: 'hashicorp/terraform:0.13.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
# # [START tf-plan]
- id: 'tf plan'
name: 'hashicorp/terraform:0.13.0'
entrypoint: 'sh'
args:
- '-c'
- |
if [ -d "environments/$BRANCH_NAME/" ]; then
cd environments/$BRANCH_NAME
terraform plan
else
for dir in environments/*/
do
cd ${dir}
env=${dir%*/}
env=${env*/}
echo ""
echo "*************** TERRAFOM PLAN ******************"
echo "******* At environment: ${env} ********"
echo "*************************************************"
terraform plan || exit 1
cd ../../
done
fi
# # [END tf-plan]
# #[START tf-apply]
- id: 'tf apply'
name: 'hashicorp/terraform:0.13.0'
entrypoint: 'sh'
args:
- '-c'
- |
if [ -d "environments/$BRANCH_NAME/" ]; then
cd environments/$BRANCH_NAME
export TF_LOG=TRACE
terraform apply -auto-approve
else
echo "***************************** SKIPPING APPLYING *******************************"
echo "Branch '$BRANCH_NAME' does not represent an oficial environment."
echo "*******************************************************************************"
fi
# [END tf-apply]
我得到的错误是
On ../../modules/services/CloudBuildTriggers/cloudbuildtrig.tf line 22:
Expected a comma to mark the beginning of the next item.
如何在云构建触发器的构建步骤中简单地放置 bash 命令? 还是只引用了 GCLOUD SDK 命令?
【问题讨论】:
标签: google-cloud-platform terraform-provider-gcp