将现有的CodePipeline / CodeBuild项目导出到Cloudformation

问题描述 投票:5回答:3

有没有办法将现有的CodePipeline / CodeBuild项目导出到Cloudformation?

我正在将现有的CI / CD基础架构转换为代码,因此很容易在其他AWS区域上复制它们。

目前,我们已经通过浏览器中的AWS控制台完成了所有CodePipeline / CodeBuild项目,显然,这很乏味且容易出错。

amazon-web-services continuous-integration continuous-delivery aws-codepipeline aws-codebuild
3个回答
15
投票

如果您已经创建了一些codepipeline,请使用cli将它们提取为cloudformation。

命令大致如此

aws codepipeline get-pipeline --name

它会让你返回一个用于cloudformation的codepipeline资源。您将能够看到您需要在其他资源中输入的位置,例如codebuild项目和s3存储桶或codecommit存储库。

请注意,您需要通过模板来确保它将被cloudformation视为有效。来自cli的资源行需要以大写字母开头,因此改变它可能会很乏味。

另一件需要知道的是管道需要我认为你可以在你的模板中拥有两个角色,它也是自己的桶。所有这些都可以放在一个模板中,使可重复的管道成为可能。祝好运!


3
投票

我通常会建议CloudFormer从现有资源生成CloudFormation模板,但似乎不支持CodePipeline / CodeBuild。

您的下一个最佳选择是从现有模板开始,并根据您的需要进行修改。

这里有些例子:

  1. https://github.com/awslabs/codepipeline-nested-cfn
  2. https://github.com/stelligent/dromedary/blob/master/pipeline/cfn/codepipeline-cfn.json

2
投票

并尝试使用codebuild-project:

aws codebuild batch-get-projects --name --output json

然后你是CodeBuild模板。暗示:

aws帮助

要么

aws codebuild帮助

会很好地帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.