Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform local exec如何在Concourse上工作?_Terraform_Terraform Provider Aws_Aws Step Functions_Aws Xray - Fatal编程技术网

Terraform local exec如何在Concourse上工作?

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

我使用“null_resource”并将aws cli传递给“local exec”以更新步骤函数:

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,这是否有效?

我的假设是,在您的本地机器中,您已经设置了所需的凭据。因此,如果您只是简单地尝试它,它将失败,并出现身份验证错误

把它放在大厅里-

  • AWS控制台-创建新的IAM用户
    cicd
    ,该用户仅具有编程访问权限和相关权限。出于测试目的,您可以使用
    administratoraccess
    策略,但请确保以后使用该策略
  • AWS控制台-为
    cicd
    用户创建AWS安全凭据(AWS\u访问\u密钥\u ID、AWS\u机密\u访问\u密钥)(将其保存在安全的地方)
  • 大厅CI-创建
    AWS\u访问\u密钥\u ID
    AWS\u机密\u访问\u密钥
  • 大堂CI-添加
    ((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”的含义。