我正在寻找一种方法来指定项目中堆栈的部署顺序。我知道我可以添加依赖项,但是,这些堆栈彼此不依赖,我可能想稍后删除一些。
我有一个每个其他堆栈(例如 rds)全局所需的服务框架。这些都是从一开始就部署的。
现在我想为新客户添加堆栈,这些堆栈将依赖于 2 个全局堆栈,并且相互依赖,但不依赖于任何其他客户的堆栈。
例如
和
我希望所有这些堆栈都按此顺序部署。首先是全局堆栈,然后是所有客户 a,然后是所有客户 b。
然而,这就是 cdk 正在做的事情:
这意味着客户A必须等到所有其他客户资源都生成后才能使用该系统等等。由于客户堆栈之间不存在交叉依赖关系,因此不必按照 cdk 的顺序进行部署。
那么,我有什么选择呢?除了添加依赖项之外?我最初认为它会按堆栈名称或构造路径按字母顺序排序,但似乎并非如此。
谢谢你!
编辑:我浏览了 cdk 应用程序的代码并找到了排序代码。目前我的情况没有办法。CDK 使用的排序类型将始终产生观察到的模式。
我现在正在通过添加依赖项来解决问题。当删除“中间”且具有依赖关系的堆栈时,我必须用参数销毁它们-e。
Dzh*_*eyt -2
您可以cdk deploy [stack_name]多次调用来首先部署“必要的”堆栈(例如部署 RDS 或网络组件的堆栈),最后调用cdk deploy *来配置所有剩余的堆栈。
| 归档时间: |
|
| 查看次数: |
20002 次 |
| 最近记录: |