我正在使用 Code Pipeline: Jenkins for Build 和 Code Deploy/Opsworks 进行部署。我能够使用 Jenkins 使用 AWS CLI 编排 Cloud Formation 模板,并指定命令行步骤。在不使用 Jenkins 或任何 CI 工具的情况下,是否有任何其他选项编排云形成?构建完成后,是否可以在代码管道中触发 Cloud Formation?
请提出任何最佳做法。
我正在使用 Code Pipeline: Jenkins for Build 和 Code Deploy/Opsworks 进行部署。我能够使用 Jenkins 使用 AWS CLI 编排 Cloud Formation 模板,并指定命令行步骤。在不使用 Jenkins 或任何 CI 工具的情况下,是否有任何其他选项编排云形成?构建完成后,是否可以在代码管道中触发 Cloud Formation?
请提出任何最佳做法。
自2016 年 11 月 3 日起,AWS CloudFormation 堆栈更新现已完全集成到 AWS CodePipeline 中。请参阅 CloudFormation 用户指南的新增部分,使用 AWS CodePipeline 持续交付。
简而言之,您现在可以向 CodePipeline 管道添加一个Deploy
带有CloudFormation
提供程序的操作,该管道将对指定的 CloudFormation 堆栈执行操作。使用该AWS::CodePipeline::Pipeline
资源,管道阶段定义将如下所示:
Resources:
Pipeline:
Type: AWS::CodePipeline::Pipeline
Properties:
# [other properties...]
Stages:
# [other stages...]
- Name: Deploy
Actions:
- Name: Deploy
ActionTypeId:
Category: Deploy
Owner: AWS
Version: 1
Provider: CloudFormation
InputArtifacts:
- Name: Template
Configuration:
ActionMode: REPLACE_ON_FAILURE
RoleArn: !GetAtt [CFNRole, Arn]
StackName: !Ref AWS::StackName
TemplatePath: !Sub "Template::${StackFileName}"
Capabilities: CAPABILITY_IAM