AWS Codebuild错误:“为辅助源找到重复的源位置”

时间:2020-05-10 17:04:22

标签: aws-codepipeline aws-codebuild

我正在研究CI / CD AWS lambda。我的管道中的构建步骤将使用该模板,并生成一个引用新源代码的输出模板。当原始模板与lambda的源代码一起存储时,此方法有效,但这是有问题的,因为然后我需要原始模板的两个副本(一个在我的cloudformation git repo中,一个带有lambda源代码)。我曾经有一个错误,在那里我更新了模板的一个副本,却忘了更新另一个。让管道从S3下载lambda而不是将其保存在git中似乎很简单,但是当我这样做时,我在CodeBuild的DOWNLOAD_SOURCE阶段遇到一个奇怪的错误:

CLIENT_ERROR: found duplicate source location for secondary source LambdaTemplate

我不知道这是怎么回事。这个错误甚至意味着什么?我还有其他管道,它们以完全相同的方式使用辅助资源,没有任何问题。这个错误在我的buildspec甚至运行之前就已经发生了,所以这不是一个错误。有想法吗?

2 个答案:

答案 0 :(得分:0)

如果管道中的CodeBuild动作配置正在接受多个源输入,是否可以检查输入工件的名称是否不同:

{
  "name": "Build",
  "actions": [
    {
      "inputArtifacts": [
        {
          "name": "source1"             <================ Check this 
        },
        {
          "name": "source2"             <================ and this 
        }
      ],
      "name": "Build",
      "actionTypeId": {
        "category": "Build",
        "owner": "AWS",
        "version": "1",
        "provider": "AWS CodeBuild"
      },
      "outputArtifacts": [
        {
          "name": "artifact1"
        },
        {
          "name": "artifact2"
        }
      ],
      "configuration": {
        "ProjectName": "my-build-project-name",
        "PrimarySource": "source1"
      },
      "runOrder": 1
    }
  ]
}

],

完整的参考资料在这里:https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html

答案 1 :(得分:0)

由于在源配置中使用了非压缩文件而导致错误。

只需将输入源更改为file.zip并压缩文件,然后再在s3中上传即可。 CodeBuild仅接受压缩文件。该错误没有帮助,因为它没有告诉您确切的问题。

enter image description here

相关问题