AWS CodePipeline不会将工件上载到AWS S3

时间:2018-03-15 05:06:15

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

为了实现(Android)构建和测试流程的自动化,我配置了一个 AWS代码管道,它将首先从 GitHub 获取代码并触发构建(通过 aws codebuild )Build显示为已成功完成,但由于构建过程而生成的工件(apk文件)未上传到s3存储桶(公共存储桶)。日志清楚地表明上传成功,如附件截图所示![here] here codepipeline 也表示所有内容都已成功附加here

但是,如果我直接从aws codebuild屏幕运行 aws codebuild项目,会将该工件成功上传到s3存储桶!

我尝试将存储桶权限更改为公共/非公开等。到目前为止还没有成功

2 个答案:

答案 0 :(得分:8)

CodePipeline将覆盖CodeBuild的工件桶,我猜它正在将工件移动到自己的Bucket。您可以通过运行以下命令来查看CodePipeline的存储桶。

codepipeline get-pipeline --name PipelineName--query pipeline.[artifactStore]

[
    {
        "type": "S3",
        "location": "codepipeline-us-east-1-xxxxxxxx"
    }
]

如果您使用CloudFormation创建管道,则使用ArtifactStore配置存储桶。

更新CodePipeline中的ArtifactStore: 目前,我没有看到通过控制台更新ArtifactStore的方法,但可以使用update-pipeline命令完成。

获取pipleline详细信息:

aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

编辑管道以更新artifactStore中的S3 Bucket,然后运行命令。

aws codepipeline update-pipeline --cli-input-json file://pipeline.json

答案 1 :(得分:0)

我遇到了同样的问题,无法在S3中看到用于保存CodeBuild工件的MyAppBuild文件夹。注销Web控制台,然后再次登录,该文件夹现在可见。