我第一次尝试通过 AWS Codebuild 初始化我的后端。到目前为止,我已经能够运行初始部署。一旦 Terraform 应用完成,我会尝试初始化后端并将其移动到 S3。这是在目录中使用活动状态文件运行的代码后应用:
构建规范部分
- |
echo "" >> main.tf
echo "" >> main.tf
echo "terraform { " >> main.tf
echo " backend \"s3\" { " >> main.tf
echo " }" >> main.tf
echo "}" >> main.tf
echo "yes" | terraform init \
-backend-config="bucket=${backend_env}" \
-backend-config="key=global/state/${bucketconfig}/terraform.tfstate" \
-backend-config="region=us-east-1" \
-backend-config="encrypt=true" \
-backend-config="kms_key_id=${kmykeyid}" \
-backend-config="dynamodb_table=iha-${tf_appenv}-${tf_tenant}-db-${bucketconfig}"
- echo "Complete"
现在请注意,在我添加后端配置之前,一切都已正常运行。您还注意到,我尝试动态添加有效的 s3 资源。通过运行 cat main.tf 我可以看到 s3 后端资源已添加到文件中。
terraform {
backend "s3" {
}
}
我已经验证了所有变量并确保所有存储桶和资源都存在。我不知道为什么它失败了。还要注意您在构建规范文件中看到的示例代码及其在多行部分中。
我不确定是什么导致命令行 CLI 出现问题,我正在寻找任何人指出我正确的方向。