问题描述
tl:博士
在初始管道运行后,我无法让 CodePipeline 更新 CloudFormationStackInstances。
我正在尝试使用 CodePipeline 部署堆栈集和堆栈集实例。
我可能没有正确理解这些概念,我的管道如下:
- Name: Testing
Actions:
- ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormationStackSet
Version: '1'
Runorder: 1
Configuration:
AdministrationRoleArn: !Sub arn:aws:iam::${AWS::AccountId}:role/AWSCloudFormationStackSetAdministrationRole
DeploymentTargets: !Ref TestingAccountId
Regions: eu-west-1
PermissionModel: SELF_MANAGED
StackSetName: !Ref StackSetName
TemplatePath: 'SourceArtifact::dummy.yml'
Parameters: ParameterKey=ParamValue,ParameterValue=testing
OutputArtifacts: []
InputArtifacts:
- Name: SourceArtifact
Namespace: Testing
Name: Testing
- Name: ApproveStaging
ActionTypeId:
Category: Approval
Owner: AWS
Provider: Manual
Version: '1'
Runorder: 2
- Name: Staging
Actions:
- ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormationStackInstances
Version: '1'
Runorder: 1
Configuration:
DeploymentTargets: !Ref StagingAccountId
Regions: eu-west-1,us-east-1
StackSetName: !Ref StackSetName
ParameterOverrides: ParameterKey=ParamValue,ParameterValue=staging
OutputArtifacts: []
InputArtifacts:
- Name: SourceArtifact
Namespace: Staging
Name: Staging
我想在一个帐户中推出更改,然后在其他帐户和地区进行审核和推出。
我观察到的是管道第一次正确运行。
如果我对 Cloudformation 模板进行更改并再次运行管道,则:
- 第一个帐户随着添加到 模板,管道会根据需要暂停。
- 我检查了 Cloudformation 和第二个中的堆栈集实例
帐户 StackInstance 按预期显示“过时”状态。 - 我继续管道,它显示了下一个帐户的阶段
已完成。 - 我检查了 Cloudformation 中的堆栈集实例和第二个帐户 StackInstance 显示为“当前”,堆栈集的模板反映了我在初始管道运行后所做的更改。
到目前为止一切都很好,但是当我检查第二个帐户的 Cloudformation 堆栈时,我在初始管道运行后对 Cloudformation 模板所做的更改没有更新。
我已经检查并仔细检查过,但似乎 CloudFormationStackInstances 操作创建了但随后从未更新堆栈实例。
我希望能够推出更改并首先预览它们,并且还在堆栈实例级别拥有 ParameterOverrides。
可能我不明白如何在 CodePipeline 中正确使用 Stacksets。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)