在 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
到目前为止我尝试了什么:
- 尝试
npm install
而不是 npm ci
→ 没有变化
- 运行
npm install aws-cdk -g
作为单独的命令 → 有效,但它不会安装 package.json
中指定的版本
- 添加
install
阶段并声明 nodejs 版本 → 无变化
bash
和sh
都试过了→没有变化
CDK 由两部分组成:您在代码中导入的 CDK 库,以及执行综合和部署的 CDK CLI。两者都是必需的。
您的 package.json
中的要求指的是 CDK 库,而不是 CLI。
您需要像以前一样单独手动安装 CLI:
npm install aws-cdk -g
您也可以根据需要修改此命令以指定版本(建议使用最新版本,向下兼容)。
P.S。如果您还没有,请查看 CDK Pipelines 以部署 CDK 应用程序,它们使它变得容易得多(尽管不是这个特定部分)。
作为自动构建管道的一部分,我正在尝试在 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
到目前为止我尝试了什么:
- 尝试
npm install
而不是npm ci
→ 没有变化 - 运行
npm install aws-cdk -g
作为单独的命令 → 有效,但它不会安装package.json
中指定的版本
- 添加
install
阶段并声明 nodejs 版本 → 无变化 bash
和sh
都试过了→没有变化
CDK 由两部分组成:您在代码中导入的 CDK 库,以及执行综合和部署的 CDK CLI。两者都是必需的。
您的 package.json
中的要求指的是 CDK 库,而不是 CLI。
您需要像以前一样单独手动安装 CLI:
npm install aws-cdk -g
您也可以根据需要修改此命令以指定版本(建议使用最新版本,向下兼容)。
P.S。如果您还没有,请查看 CDK Pipelines 以部署 CDK 应用程序,它们使它变得容易得多(尽管不是这个特定部分)。