gpt4 book ai didi

google-cloud-platform - gcloud 命令行客户端 - 并行处理多个 gCloud 项目

转载 作者:行者123 更新时间:2023-12-03 20:32:38 27 4
gpt4 key购买 nike

我们正在使用 Jenkins 构建数据并将数据推送到 Google Cloud Storage。

我们有一台构建机器;和多个不同的 Google 项目(测试;生产)

如果 'jenkins' 用户在 1 个构建节点上进行了并行构建;有什么方法可以将参数传递给 gcloud docker -- push以便单独的凭据验证一次推送到 testing Google Project 和其他到 production项目?

最佳答案

从 Cloud SDK 的角度来看,这里有几个选项。

第一个是使用不同的配置目录。默认情况下,Cloud SDK 使用 ~/.config/gcloud作为其配置目录; $CLOUDSDK_CONFIG环境变量覆盖了这个。如果您使用不同的配置目录,它实际上与具有两个不同的安装相同,并且您不会运行任何风险,例如比赛条件。

第二种是使用named configurations .这可能最容易用一个例子来说明:

$ gcloud config configurations create foo  # creates and activates a new configuration
$ gcloud auth login # you may want to use `activate-service-account` for non-interactive use
$ gcloud config set project foo-project
$ gcloud config configurations create bar
$ gcloud auth login
$ gcloud config set project bar-project
$ CLOUDSDK_ACTIVE_CONFIG_NAME=foo gcloud version &
$ CLOUDSDK_ACTIVE_CONFIG_NAME=bar gcloud version &

如果您只想更改配置属性,可以通过环境变量 $CLOUDSDK_<SECTION>_<PROPERTY> 进行更改。 .例如, $CLOUDSDK_CORE_ACCOUNT$CLOUDSDK_CORE_PROJECT .对于一些常见标志,您可以在每个 gcloud 命令上设置它们: --project--account , 例如。见 gcloud help有关这些常见标志的概述。

也就是说,与 gcloud docker您可能会在任何这些情况下遇到问题,因为 docker共享一个配置文件。您最好的选择可能是使用 docker-credential-gcr与不同 $GOOGLE_APPLICATION_CREDENTIALS文件。

关于google-cloud-platform - gcloud 命令行客户端 - 并行处理多个 gCloud 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920296/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com