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

das*_*mug 8 continuous-integration amazon-web-services continuous-delivery aws-codepipeline aws-codebuild

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

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

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

hyn*_*spm 15

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

命令大致如此

aws codepipeline get-pipeline --name

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

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

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


小智 8

并为 codebuild-project 尝试此操作:

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

然后是 CodeBuild 模板。暗示:

aws 帮助

或者

aws 代码构建帮助

会很好地帮助你。


Rod*_*o M 5

我通常会建议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