首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS CDK条件阶段部署

AWS CDK条件阶段部署
EN

Stack Overflow用户
提问于 2022-06-07 02:02:54
回答 2查看 164关注 0票数 1

我在这里遇到了一些挑战。因此,我非常广泛地使用AWS管道在一个环境中进行部署和维护50个不同的部署。我使用不同的管道在多个帐户/区域中复制事情。但是,我需要开始在部署中添加一些条件语句,以便根据环境就绪情况部署/不部署管道中的某个阶段(比如引导/安装相对于长期运行)。

因此,我试图在我的管道中找到一种方法,将cfnCondition语句添加到一个阶段定义中,在环境准备好之前不要将这个阶段添加到管道中。我有一个舞台/脚本,它做了大量的基础设施设置,所以不希望阶段在完成之前运行。找到本文(https://loige.co/create-resources-conditionally-with-cdk/#using-cfncondition-with-cdk),但1.找不到一个阶段的0级构造,而2.在cfnOptions上的cdk v2 /cfnOptions错误中似乎不喜欢这样。

任何人都有此选项,因此我可以从我的阶段定义中的SSM / make条件语句(顺便说一句,如果我在项目/静态本地文件中这样做,它可以正常工作,需要从ssm /参数存储中获得,这样我就可以在设置完成后释放其他管道)。

谢谢尼克

EN

回答 2

Stack Overflow用户

发布于 2022-06-07 10:03:40

要做到这一点很简单。您可以通过指定CodeBuild环境(完成synth的位置)将SSM参数传递给整个管道。这里,您可以查看文档。在管道本身中,可以引用这个变量,如下所示:

代码语言:javascript
复制
if(process.env.MY_SSM_VAR==='myFancyInput'){
   pipeline.addMyConditionalStage()
}
票数 1
EN

Stack Overflow用户

发布于 2022-06-07 14:28:04

如前所述:参数库对此非常有用--对于每个管道中的任何概念,但是值都会更改(即,Lambda的名称或此api的端点)--这是非常有用的。

但是,请注意,如果X然后Y类交易,管道是不能做的-它总是将是“步骤1,步骤2,步骤3.”ect等-永远不要“步骤1,如果A,步骤2,步骤2.5”

如果您有非常有条件的、依赖于其他操作的内容,最好的选择是创建一个Step函数来处理所有这些事情,并将其称为管道的一部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72525177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档