如何在CDK管道中禁用回滚。CodePipeline

问题描述 投票:0回答:1

我通过 CDK pipelines.CodePipeline 部署了我的生产基础设施。这是一个使用 AWS CodePipeline 服务部署 CDK 应用程序的 CDK 构造。

由于这是完全托管的,我不需要将

cdk deploy
命令放入管道阶段,它会自动为我构建它。

不幸的是,它似乎没有禁用自动回滚的选项。是吗?

我的代码:

from aws_cdk import pipelines
... builds cdk synth
pipeline = pipelines.CodePipeline(
            self,
            "Pipeline",
            cli_version=Toolchain._get_cdk_cli_version(),
            cross_account_keys=True,
            docker_enabled_for_synth=True,
            publish_assets_in_parallel=False,
            synth=synth,
)
production = cdk.Stage(
            pipeline,
            PRODUCTION_ENV_NAME,
            env=cdk.Environment(
                account=PRODUCTION_ENV_ACCOUNT, region=PRODUCTION_ENV_REGION
            ),
)
Backend(
            production,
            constants.APP_NAME + PRODUCTION_ENV_NAME,
            env=cdk.Environment(account=PRODUCTION_ENV_ACCOUNT, region=PRODUCTION_ENV_REGION),
            stack_name=constants.APP_NAME + PRODUCTION_ENV_NAME,
            github_branch="production",
            image_tag="prod"
)
pipeline.add_stage(production)
amazon-web-services aws-cdk aws-codepipeline aws-codebuild
1个回答
0
投票

看起来您应该可以通过在 cdk.json 文件中设置

rollback 选项
来完成此操作:

rollback:如果为 false,则不会回滚失败的部署。

带有 CDK Pipelines 的 CI/CD 指南说:

请务必将 cdk.json 和 cdk.context.json 文件提交到源代码管理。

所以我非常确定通过管道部署时也会使用这些选项。

© www.soinside.com 2019 - 2024. All rights reserved.