github 操作已经运行了数百次,昨天它决定失败。 当我尝试重新运行旧的时,它们也失败了。 我尝试了一些事情,事实上,当我重新运行过去成功但现在失败的作业时,我认为这可能与新的 AWS 更新有关。
如有任何帮助,我们将不胜感激!
这是错误:
This CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version. (Cloud assembly schema version mismatch: Maximum schema version supported is
38.x.x, but found 39.0.0) Error: Process completed with exit code 1.
这是我的工作流程文件供参考:
on:
push:
branches:
- develop
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "20"
- name: Install dependencies
run: |
npm install -g yarn
yarn
- name: Install stable version of AWS CDK
run: npm install -g [email protected]
- name: Deploy to AWS (xxx)
run: |
cd infrastructure
yarn
npx cdk bootstrap --all -c env=xxx aws://$BETA_ACCOUNT_ID/us-west-1
npx cdk deploy -c env=xxx --require-approval never --all
env:
AWS_ACCESS_KEY_ID: ${{ secrets.xxx }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.xxx }}
AWS_DEFAULT_REGION: us-west-1
BETA_ACCOUNT_ID: ${{ secrets.xxx }}
2.174.0
中存在回归导致此错误。在这里跟踪:https://github.com/aws/aws-cdk/issues/32744
现已解决。
现在,这里的问题是,如果您专门安装
2.174.0
,那么为什么您的操作首先要使用 2.166.0
。
原因很可能是您使用
npx
运行它,它更喜欢本地安装的软件包而不是全局安装的软件包。因此,您的 "aws-cdk": "^2.166.0"
中可能有类似 package.json
的内容,这使得 npx
忽略全局安装的版本,而是使用 node_modules
中的版本。
从
aws-cdk
中删除 package.json
或直接调用 cdk
而无需 npx
。