1

我已经建立了一个 CodePipeline,最终目标是让核心服务驻留在 S3 上,作为其他管道依赖的私有 maven 存储库。当核心服务更新并推送到 AWS CodeCommit 时,管道应该运行、测试它,使用 maven docker 映像构建一个 jar,然后将生成的 jar 推送到 S3,其他应用程序可以根据需要对其进行访问。

不幸的是,虽然 CodeBuild 服务完全按照我的意愿工作,将 XYZCore.jar 上传到存储桶上的 /release,但自动化管道本身却没有。相反,它会上传到“XYZCorePipeline”文件夹,其中包含构建的输入和输出工件。输出工件本身是一个 zip 文件,它只是一个随机字符串。我检查了管道,它正确使用了服务,但管道特定的构建总是在那里输出,而 CodeBuild 服务的独立构建输出我想要的方式,让我可以利用诸如版本控制之类的东西。我修复设置以使两个版本匹配的最佳方法是什么?

4

1 回答 1

2

不幸的是 CodePipeline 不支持这个用例。

作为一种解决方法,您可以通过从 buildspec.yml post_build 调用 AWS CLI (aws s3 cp ...) 将工件上传到 S3。

于 2017-03-31T21:43:04.083 回答