我已经建立了一个CodePipeline,其最终目标是将核心服务驻留在S3上,作为其他管道依赖的私有maven仓库。当核心服务更新并推送到AWS CodeCommit时,管道应运行,测试它,使用maven docker镜像构建jar,然后将生成的jar推送到S3,其他应用程序可以根据需要访问它。
不幸的是,虽然CodeBuild服务完全符合我的要求,但是将DXZCore.jar上传到存储桶上的/ release,自动管道本身却没有。而是上传到“XYZCorePipeline”文件夹,该文件夹包含构建的输入和输出工件。输出工件本身是一个zip文件,它只是一个随机字符串。我检查了管道,它正确地使用了服务,但是管道特定的构建总是在那里输出,而CodeBuild服务的独立构建输出我喜欢它们的方式,允许我利用诸如版本控制之类的东西。我最好的方法是修复设置,以便两个版本匹配?
答案 0 :(得分:2)
不幸的是,CodePipeline不支持此用例。
作为一种解决方法,您可以通过从buildspec.yml post_build调用AWS CLI(aws s3 cp ...)将工件上传到S3。