繁体   English   中英

使用 CDK diff 比较包装在管道中的资源

[英]Using CDK diff to diff resources wrapped in a pipeline

我有一个 CDK 项目,我们将所有资源包装在管道构造中。 在添加管道之前,我们可以在本地运行 cdk diff 来查看我们正在部署的资源的变化。 现在我们使用管道构造,在本地运行差异只会导致显示管道构造的更改。 有没有其他方法可以摆弄管道构造来查看应用程序资源而不是管道的差异?

选项 1:区分应用程序资源和管道资源

堆栈说明符**将返回层次结构中所有堆栈的差异,而不仅仅是管道本身:

cdk diff '**' -a 'ts-node ./bin/app-pipeline.ts'

选项 2:仅比较应用程序资源

要完全排除管道堆栈中的差异,首先将“应用程序”堆栈嵌套在新的Construct子类中。请参阅 CDK 文档的MyService构造示例MyService包含三个子“应用程序”堆栈:

MyService           # Construct
    ControlPlane    # Stack
    DataPlane       # Stack
    Monitoring      # Stack

然后在两个上下文中使用MyService ,即管道 Stage 和 App:

# app-pipeline.ts
MyPipeline          # Pipeline
    MyStage         # Stage
        MyService   # Construct

# app.ts
App                 # App
    MyService       # Construct

在 App 上运行cdk diff --app 'ts-node./bin/app.ts'将在ControlPlaneDataPlaneMonitoring中产生差异,而不是管道本身。 这些是将在管道中部署的相同应用程序差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM