CodePipeline(AWS)的CodeBuild(AWS)

时间:2018-02-07 19:37:50

标签: amazon-web-services github aws-codepipeline aws-codebuild

我正在尝试使用CodePipeline(AWS)触发多个版本,当管道触发CodeBuild时,CodeBuild会因下一个错误而失败:

[Container] 2018/02/07 19:30:20 Waiting for DOWNLOAD_SOURCE
  

消息:访问被拒绝

额外信息:

  • 来源来自 Github
  • 如果我启动CodeBuild手动完美。

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:4)

我前几天才发现这一点。我不确定它是否在任何地方都有记录,但在Code Pipeline UI中肯定不清楚。

CodePipeline启动的任何CodeBuild项目必须已通过CodePipeline UI 创建。它不能是一个独立的" CodeBuild项目。

当您从CodePipeline UI创建CodeBuild项目时," Source Provider"设置是" AWS CodePipeline",当您自己创建CodeBuild项目时,它不是可用的选项。

CodePipeline从GitHub检索它自己的源代码。然后它将该源代码传递给您的CodeBuild项目。如果您的项目是从GitHub获取它自己的源代码,那么这似乎会导致您描述的问题:

[Container] 2018/02/06 14:58:37 Waiting for agent ping
[Container] 2018/02/06 14:58:37 Waiting for DOWNLOAD_SOURCE

要解决此问题,您必须编辑CodePipeline" build"阶段,并选择"创建一个新的构建项目"在" AWS CodeBuild下,配置您的项目"。您可以从现有项目中复制大多数设置,并重复使用源代码中的buildspec.yml文件。

答案 1 :(得分:2)

我有同样的错误。 Codebuild在单独运行时运行良好,但为了使其在CodePipeline中运行,我必须更新我的CodePipeline角色以允许访问S3存储桶。

答案 2 :(得分:2)

解决此问题的方法是通过创建CodePipeline向导来创建CodeBuild。 通过这种方式,向导为CodeBuild提供了必要的特权。