【发布时间】:2018-10-27 08:47:01
【问题描述】:
一个常见的 AWS Cloudformation CodePipeline deploy sn-p 如下所示:
- Name: CreateChangeSet
ActionTypeId:
Category: Deploy
Owner: AWS
Version: '1'
Provider: CloudFormation
Configuration:
ActionMode: CHANGE_SET_REPLACE
RoleArn: ...
StackName: ...
ChangeSetName: deploy-commit
TemplatePath: ...
Capabilities: CAPABILITY_IAM
InputArtifacts:
- Name: ...
RunOrder: 1
- Name: ExecuteChangeSet
ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormation
Version: '1'
Configuration:
ActionMode: CHANGE_SET_EXECUTE
ChangeSetName: deploy-commit
RoleArn: ..
StackName: ...
RunOrder: 2
我们创建一个变更集并执行。是否有一种模式或方法可以让我们为每个新版本获得一个独特的ChangeSetName。因为CHANGE_SET_REPLACE 删除了前一个并创建了一个新的同名的,因此我们丢失了历史记录。
【问题讨论】:
-
从未使用过这些特定服务,但您不能让 Coudbuild 输出 git 并在调用 CloudFormation 模板时将其用作参数吗?然后使用类似
ChangeSetName: !Sub 'deploy-commit-${ShaCodebuild}' -
我希望我能做到,但不可能。 CodeBuild 仅导出作为文件的工件。
标签: amazon-web-services amazon-cloudformation aws-codepipeline