Terraform 脚本化 AWS CodePipeline 在部署阶段失败并出现 InternalError

Terraform scripted AWS CodePipeline fails on Deploy stage with InternalError

我正在尝试使用 AWS CodePipeline 将应用程序部署到使用 CodeDeploy 代理的 EC2 实例,但由于这种令人沮丧的含糊不清而失败了 "InternalError":

我找不到任何其他有意义的错误。

我正在使用 terraform 来定义 CodePipeline。这是 "Deploy" 部分:

stage {
  name = "Deploy"

  action {
    name            = "Deploy"
    category        = "Deploy"
    owner           = "AWS"
    provider        = "CodeDeploy"
    input_artifacts = ["buildOut"]
    run_order        = 1
    version         = "1"

    configuration = {
      ApplicationName    = aws_codedeploy_app.my-codedeploy-app.id
      DeploymentGroupName = aws_codedeploy_deployment_group.my-codedeploy-group.id
    }
  }
}

我做错了什么?

您的部署定义有两个小问题。

  1. ApplicationName 应该引用 app.name,而不是 app.id
  2. DeploymentGroupName 应该引用 deployment_group_name,而不是 group.id

试试这个:

stage {
  name = "Deploy"
  action {
    name            = "Deploy"
    category        = "Deploy"
    owner           = "AWS"
    provider        = "CodeDeploy"
    input_artifacts = ["buildOut"]
    run_order        = 1
    version         = "1"
    configuration = {
      ApplicationName    = aws_codedeploy_app.my-codedeploy-app.name  // This should be name, not id
      DeploymentGroupName = aws_codedeploy_deployment_group.my-codedeploy-group.deployment_group_name  // this should be deployment_group_name, not id
    }
  }
}