我可以在同一台计算机上安装并运行多个版本的 gcloud (google cloud sdk) 吗?

che*_*rba 4 gcloud google-cloud-sdk gcloud-cli

gcloud 中的功能和选项有时会被弃用/删除。如果 CI 依赖它并且重构不是一个选项,同时我们需要使用后续版本中出现的新功能,我们可以在同一台计算机上安装多个版本的 gcloud 并同时使用吗?

che*_*rba 6

有多种方法可以在您的计算机上安装 Cloud SDK。为此,最简单的方法可能是从https://cloud.google.com/sdk/downloads#versioned下载版本化包。

例如你可以这样做

gsutil cp gs://cloud-sdk-release/google-cloud-sdk-VERSION-linux-x86_64.tar.gz .
Run Code Online (Sandbox Code Playgroud)

您想要获取的位置VERSION是(例如“161.0.0”)。您还可以使用wgetcurl仅使用浏览器来下载适合您平台的软件包。

然后将其解压到您想要的位置,例如

mkdir -p ~/cloudsdk/161.0.0
tar xzf google-cloud-sdk-161.0.0-linux-x86_64.tar.gz -C ~/cloudsdk/161.0.0
Run Code Online (Sandbox Code Playgroud)

对一些不同的版本重复:

mkdir -p ~/cloudsdk/130.0.0
tar xzf google-cloud-sdk-130.0.0-linux-x86_64.tar.gz -C ~/cloudsdk/130.0.0
Run Code Online (Sandbox Code Playgroud)

现在您可以通过以下方式运行 gcloud

~/cloudsdk/161.0.0/google-cloud-sdk/bin/gcloud components list
Run Code Online (Sandbox Code Playgroud)

或者

~/cloudsdk/130.0.0/google-cloud-sdk/bin/gcloud components list
Run Code Online (Sandbox Code Playgroud)

请注意,两个版本将共享相同的配置目录。这通常是不可取的,因为版本之间处理配置的方式可能会发生变化。要强制不同的 Cloud SDK 版本使用不同的 gcloud 配置,请设置CLOUDSDK_CONFIG环境变量以指向不同的 gcloud 配置目录。例如:

$ CLOUDSDK_CONFIG=~/.config/gcloud-legacy ~/cloudsdk/130.0.0/google-cloud-sdk/bin/gcloud
Run Code Online (Sandbox Code Playgroud)