如何解决您如何通过代码管道部署现有部署工件?
背景:我正在为CI使用github操作,为CD使用aws代码管道。 Github操作将一组版本化的工件推送到S3和ECR。我使用CDK设置了我的AWS代码管道。
问题:我如何获得代码管道来拾取这些工件并进行部署?
opt 1:只需用“最新”标记您的图片和其他所有内容
answer:否,拥有始终部署最新版本的管道与部署X版本的管道不同。
opt 2:只需将版本号(X版本)发送到代码管道,以便代码管道知道要提取哪些工件
answer:不,代码管道似乎支持在动作之间传递变量(动作生成输出变量,其他动作可以获取它们),但是我没有找到文档说明可以使用输入参数来触发代码管道。
opt 3:在github中标记您的提交,并使用webhook将该信息传递给代码管道。
answer:否,codepipeline可以过滤webhook,以便您可以为某些事件触发管道,但是它不支持解析webhook主体,以选择要使用的内容。
opt 4:在讨厌的生物尝试自行更新之前,先解析cdk synth中的版本号。
answer:是的,那有点用,我可以查询一个ecr仓库,找到该发行版的实际版本号并重新生成管道,使其指向已解决的版本。它与将版本号从github传递到codepipeline并不相同,但是至少我的管道已进行了版本控制,并且我所有的部署单元(例如ECS服务,批处理作业等)都在部署后指向了显式版本。不幸的是,这有几个缺点,例如使部署管道(甚至)变慢,并且如果管道失败,我将通过在计算机上运行cdk deploy来更新管道。
选择5:您来拯救这一天:-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。