一次性更新项目CDK包

Update project CDK packages at once

一次将 JavaScript/TypeScript 项目的所有 AWS CDK 包更新到特定版本的好方法是什么?

我正在寻找一种合适的方法,我也可以在 CI/CD 管道中使用它。我不想更新或更改我项目中的其他包版本。

您可以在管道中解析 package.json 文件,并使用 bash 脚本将 cdk 特定包升级到特定版本号。

注意 core/resource 特定的 AWS CDK 包以 @aws-cdk 开头,主要的 AWS CDK 包名为 aws-cdk.

您可以像这样使用脚本:cdk-bump.sh 1.128.0

cdk-bump.sh

#!/bin/bash
if [ $# -eq 0 ]
  then
    echo "No CDK version provided!"
    exit 1
fi
GREEN='3[0;32m'
NC='3[0m'
tmp=$(mktemp)
for type in dependencies devDependencies; do
  for key in $(jq ".$type | keys[]" package.json); do
    if  [[ $key == \"@aws-cdk/* ]] || [[ $key == \"aws-cdk\" ]] ; then
      jq ".$type.$key = \"\"" package.json > "$tmp" && mv "$tmp" package.json
    fi
  done
done
npm install
echo -e "${GREEN}CDK package versions bumped to version ${NC}"