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

ran*_*ose 6 amazon-s3 amazon-web-services aws-codepipeline aws-codebuild

为了自动化(Android)构建和测试过程,我配置了一个AWS代码管道,它将首先从GitHub获取代码并触发构建(通过aws代码构建)构建显示为已成功完成但工件(apk文件)由于构建过程而生成的内容未上传到s3存储桶(公共存储桶).日志清楚地表明上传成功,如附带的屏幕截图所示![这里] 这里codepipeline以及显示一切顺利的连接这里

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

我尝试将桶权限更改为public/non public等.到目前为止还没有成功

Sud*_*ran 11

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

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

[
    {
        "type": "S3",
        "location": "codepipeline-us-east-1-xxxxxxxx"
    }
]
Run Code Online (Sandbox Code Playgroud)

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

更新CodePipeline中的ArtifactStore: 目前,我没有看到通过Console更新ArtifactStore的方法,但可以通过update-pipeline命令完成.

获取pipleline详细信息:

aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
Run Code Online (Sandbox Code Playgroud)

编辑管道以更新S3 Bucket artifactStore,然后运行该命令.

aws codepipeline update-pipeline --cli-input-json file://pipeline.json
Run Code Online (Sandbox Code Playgroud)