部署ElasticBeanstalk时AWS codepipeline出错

时间:2016-12-11 20:18:48

标签: amazon-web-services amazon-s3 amazon-ec2 aws-codepipeline aws-codebuild

我创建了一个执行以下操作的管道:

  1. Git更改触发下一个操作(代码构建)
  2. Codebuild启动&从git源构建一个docker镜像
  3. 在Elasticbeanstalk上设置最新的docker容器
  4. 前两个步骤正常,git更改启动代码构建,codebuild构建docker镜像,然后尝试在Elasticbeanstalk(失败)上设置它。抛出以下错误:

      

    无效的操作配置操作失败,因为   无法找到工件或Amazon S3存储桶。工件名称   斗:MY_BUCKET_NAME。验证此存储桶   存在。如果存在,请检查生命周期策略,然后尝试释放   改变。

    在我的codebuild项目中,我已将工件位置设置为MY_BUCKET_NAME&将其命名为aws-test-artifact。这就是我要做的全部吗?

    我试过四处寻找,但在这个问题上找不到任何东西。

3 个答案:

答案 0 :(得分:1)

所以我找到了解决这个问题的方法!我要做的是转到 codebuild => 修改项目 => 显示高级设置 => 工件包装

从这里我将神器包装更改为 Zip

Advanced settings section

答案 1 :(得分:0)

我有同样的问题。刚刚在构建阶段将Input工件从BuildArtifact更改为SourceArtifact,一切正常。

答案 2 :(得分:0)

正如 Adam Loving 所说,我们必须添加工件部分。

将此部分添加到您的 buildspec.yml 文件将使这项工作生效。

artifacts:
  files:
    - '**/*'

从文档 https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.artifacts.files 添加 '**/*' 会将所有文件包含到构建目标中。