Terraform local exec如何在Concourse上工作?
我使用“null_resource”并将aws cli传递给“local exec”以更新步骤函数:Terraform local exec如何在Concourse上工作?,terraform,terraform-provider-aws,aws-step-functions,aws-xray,Terraform,Terraform Provider Aws,Aws Step Functions,Aws Xray,我使用“null_resource”并将aws cli传递给“local exec”以更新步骤函数: resource "null_resource" "enable_step_function_xray" { triggers = { state_machine_arn = xxxxxxx } provisioner "local-exec" { command = "aws stepf
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,这是否有效?我的假设是,在您的本地机器中,您已经设置了所需的凭据。因此,如果您只是简单地尝试它,它将失败,并出现身份验证错误 把它放在大厅里-
cicd
,该用户仅具有编程访问权限和相关权限。出于测试目的,您可以使用administratoraccess
策略,但请确保以后使用该策略cicd
用户创建AWS安全凭据(AWS\u访问\u密钥\u ID、AWS\u机密\u访问\u密钥)(将其保存在安全的地方)AWS\u访问\u密钥\u ID
和AWS\u机密\u访问\u密钥
((AWS\u访问密钥\u ID))
和((AWS\u机密\u访问密钥))
我相信有很多关于这个主题的教程,但是上面的步骤可能会出现在大多数教程中。Concourse CI现在应该能够对您的AWS帐户应用更改。这完全取决于您是否将Concourse作业配置为使用安装了AWScli工具的容器映像。如果安装了AWS CLI工具并在路径中,则
local exec
应该会成功。如果没有,那么它显然会失败。嗨,我已经在Concourse上设置了一个管道,我的问题主要集中在本地执行部分,我想知道它是否会在Concourse上工作,如果它通过本地Terraform应用?因为当我在本地测试时,它在我的本地机器上使用windows CMD,如果我在Terraform上应用,它将使用什么?希望这是有意义的。听起来你们需要在大厅里运行它来找出答案。我以为您关心的是从非您机器的机器上运行terraform apply
。这里有安装aws cli的容器映像的示例吗?我发现:我是否应该将此映像推送到ECR,以及如何在concourse yaml文件上配置以告知concourse使用此映像?@Cecilia您当前使用的映像是什么运行Terraform作业?您链接的映像不适用于您,因为您需要同时安装Terraform和AWS CLI的映像。Terraform将在配置您的local exec
资源时调用AWS CLI,它将在本地执行此操作,在Terraform运行的同一系统上,这就是“local exec”的含义。