AWS CDK Pipelines使用DeployCdkStackAction时如何获取模板及配置文件路径
跨账号CDK Pipeline部署灵活性问题
原有实现方案
最初参考官方文档推荐方案,通过add_application_stage方法实现部署Stage,代码如下:
pipeline.add_application_stage( FoundationsStage( self, "stage_id", env=Environment(account="111111111111", region="us-east-1"), ) )
该方案可正常运行,但存在灵活性短板:
- 在子账号部署基础设施时,无法传入自定义IAM角色,仅能依赖CDK引导阶段创建的默认部署角色。
尝试底层方案时遇到的问题
为解决自定义IAM角色传入的需求,尝试使用支持传入IAM角色参数的DeployCdkStackAction构造(官方内置类,支持自定义action_role参数),但该构造同时要求两个必填参数:
DeployCdkStackAction( action_role=..., template_path=..., # 取值来源不明确 template_configuration_path=..., # 取值来源不明确 )
当前存在的困惑:
- 上述两个路径参数的取值无明确官方说明,无法确定正确的获取方式。
- 已知
add_application_stage底层本质就是通过调用DeployCdkStackAction实现部署逻辑,因此自定义IAM角色的需求理应是可实现的。 - 曾尝试从传入的CodePipeline Artifact中提取相关信息,但返回的仅为部署阶段才可解析的Token值,无法直接作为静态配置参数使用。
内容的提问来源于stack exchange,提问作者Abdel Jaidi
相关产品推荐
相关产品推荐

