Terraform local-exec 如何在 Concourse 上工作?
How Terraform local-exec works on Concourse?
我使用 'null_resource' 并将 aws cli 传递给 'local-exec' 以更新 stepfunction:
resource "null_resource" "enable_step_function_xray" {
triggers = {
state_machine_arn = xxxxxxx
}
provisioner "local-exec" {
command = "aws stepfunctions update-state-machine --state-machine-arn ${self.triggers.state_machine_arn} --tracing-configuration enabled=true"
}
}
这在我通过本地 Terraform 测试时工作正常,我的问题是如果我在 Concourse 上应用 Terraform 是否会工作?
我的假设是,在您的本地计算机上,您已经设置了所需的凭据。因此,如果您只是在 Concourse CI 上尝试,它将因身份验证错误而失败。
要在 Concourse 中设置 -
- AWS 控制台 - 创建一个仅具有编程访问权限和相关权限的新 IAM 用户
cicd
。出于测试目的,您可以使用 AdministratorAcess
策略,但请确保稍后将其设为 least-privileged。
- AWS 控制台 - 为
cicd
用户创建 AWS 安全凭证(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)(将它们保存在安全的地方)
- 大厅 CI - 创建 secrets
AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
- 大厅 CI - 添加
((AWS_ACCESS_KEY_ID))
和 ((AWS_SECRET_ACCESS_KEY))
environment variables to your Concourse CI task
我敢肯定有很多关于这个主题的教程,但上述步骤可能会出现在大多数这些教程中。 Concourse CI 现在应该能够在您的 AWS 账户上应用更改。
这完全取决于您是否将 Concourse 作业配置为使用安装了 aws
cli 工具的容器映像。如果安装了 AWS CLI 工具并且在路径中,那么 local-exec
应该会成功。如果没有,那么显然会失败。
我使用 'null_resource' 并将 aws cli 传递给 'local-exec' 以更新 stepfunction:
resource "null_resource" "enable_step_function_xray" {
triggers = {
state_machine_arn = xxxxxxx
}
provisioner "local-exec" {
command = "aws stepfunctions update-state-machine --state-machine-arn ${self.triggers.state_machine_arn} --tracing-configuration enabled=true"
}
}
这在我通过本地 Terraform 测试时工作正常,我的问题是如果我在 Concourse 上应用 Terraform 是否会工作?
我的假设是,在您的本地计算机上,您已经设置了所需的凭据。因此,如果您只是在 Concourse CI 上尝试,它将因身份验证错误而失败。
要在 Concourse 中设置 -
- AWS 控制台 - 创建一个仅具有编程访问权限和相关权限的新 IAM 用户
cicd
。出于测试目的,您可以使用AdministratorAcess
策略,但请确保稍后将其设为 least-privileged。 - AWS 控制台 - 为
cicd
用户创建 AWS 安全凭证(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)(将它们保存在安全的地方) - 大厅 CI - 创建 secrets
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
- 大厅 CI - 添加
((AWS_ACCESS_KEY_ID))
和((AWS_SECRET_ACCESS_KEY))
environment variables to your Concourse CI task
我敢肯定有很多关于这个主题的教程,但上述步骤可能会出现在大多数这些教程中。 Concourse CI 现在应该能够在您的 AWS 账户上应用更改。
这完全取决于您是否将 Concourse 作业配置为使用安装了 aws
cli 工具的容器映像。如果安装了 AWS CLI 工具并且在路径中,那么 local-exec
应该会成功。如果没有,那么显然会失败。