Google cloud platform 使用gsutil时是否可以指定服务帐户?

Google cloud platform 使用gsutil时是否可以指定服务帐户?,google-cloud-platform,gsutil,google-cloud-iam,Google Cloud Platform,Gsutil,Google Cloud Iam,我在Jenkins实例中使用gsutil rsync将代码部署到composer,我希望能够将代码部署到不同的项目(procution、staging、dev…)。当使用gcloud时,我需要做的唯一一件事就是提供--account参数,以便选择允许Jenkins这样做的服务帐户,但看起来像gsutils只对配置文件起作用,并且在多个作业同时运行时会创建竞争条件,因为它会导致所有的竞争取决于gcloud config中的配置 有没有办法指定谷歌云的gsutil必须使用哪个帐户?首先,请注意,如果

我在Jenkins实例中使用
gsutil rsync
将代码部署到composer,我希望能够将代码部署到不同的项目(procution、staging、dev…)。当使用
gcloud
时,我需要做的唯一一件事就是提供
--account
参数,以便选择允许Jenkins这样做的服务帐户,但看起来像
gsutils
只对配置文件起作用,并且在多个作业同时运行时会创建竞争条件,因为它会导致所有的竞争取决于
gcloud config
中的配置


有没有办法指定谷歌云的
gsutil
必须使用哪个帐户?

首先,请注意,如果您使用的是与gcloud捆绑的gsutil安装,gcloud会将其当前活动的凭据传递给gsutil。如果要避免这种情况并使用多个不同的凭据/帐户进行重叠调用,则应直接通过gsutil(使用单独的boto配置文件)而不是gcloud来管理凭据。您可以通过运行
gcloud config set pass\u credentials\u to\u gsutil false
来禁用gcloud的自动凭证传递行为


默认情况下,单独的gsutil安装将全部写入相同的状态目录(
$HOME/.gsutil
),并加载相同的默认boto配置文件。为了避免竞争条件,您可以(也应该)使用相同的gsutil安装,但为可能重叠的调用指定不同的
state_dir
和/或boto config文件。这可以在boto配置文件级别设置,也可以使用
-o
选项设置,例如
gsutil-o“gsutil:state_dir=$HOME/.gsutil2”cp src dst
。您将找到有关它的更多信息。

首先,请注意,如果您使用与gcloud捆绑的gsutil安装,gcloud将向gsutil传递其当前活动的凭据。如果要避免这种情况并使用多个不同的凭据/帐户进行重叠调用,则应直接通过gsutil(使用单独的boto配置文件)而不是gcloud来管理凭据。您可以通过运行
gcloud config set pass\u credentials\u to\u gsutil false
来禁用gcloud的自动凭证传递行为


默认情况下,单独的gsutil安装将全部写入相同的状态目录(
$HOME/.gsutil
),并加载相同的默认boto配置文件。为了避免竞争条件,您可以(也应该)使用相同的gsutil安装,但为可能重叠的调用指定不同的
state_dir
和/或boto config文件。这可以在boto配置文件级别设置,也可以使用
-o
选项设置,例如
gsutil-o“gsutil:state_dir=$HOME/.gsutil2”cp src dst
。您将找到有关它的更多信息。

您可以使用
gsutil config-e
传递服务帐户凭据

更多详情:


希望这有帮助。

您可以使用
gsutil config-e
传递服务帐户凭据

更多详情:

希望这有帮助