在 AWS CodeBuild 中安装 AWS CDK 作为步骤

Installing AWS CDK as step in AWS CodeBuild

作为自动构建管道的一部分,我正在尝试在 AWS CodeBuild 中部署一个 cdk 堆栈。但是,当我 运行 完整性检查并打印 cdk 版本 cdk --version 并显示错误消息时,构建在 pre_build 步骤中已经失败:

Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: cdk --version. Reason: exit status 127

很明显 cdk - 应该安装在之前的一个命令中 (npm ci) - 没有找到。我做错了什么?

buildspec.yml 看起来像这样:

version: 0.2

env:
  shell: bash

phases:
  pre_build:
    commands:
      - cd ${CODEBUILD_SRC_DIR}/cdk
      - npm ci
      - npm run build
      - cdk --version

  build:
    commands:
      - cd ${CODEBUILD_SRC_DIR}/cdk
      - cdk deploy --all

到目前为止我尝试了什么:

CDK 由两部分组成:您在代码中导入的 CDK 库,以及执行综合和部署的 CDK CLI。两者都是必需的。

您的 package.json 中的要求指的是 CDK 库,而不是 CLI。

您需要像以前一样单独手动安装 CLI:

npm install aws-cdk -g

您也可以根据需要修改此命令以指定版本(建议使用最新版本,向下兼容)。

P.S。如果您还没有,请查看 CDK Pipelines 以部署 CDK 应用程序,它们使它变得容易得多(尽管不是这个特定部分)。