使用gsutil时可以指定服务帐户吗?

时间:2018-10-29 08:19:17

标签: google-cloud-platform gsutil google-cloud-iam

我在Jenkins实例中使用<div> <app-routelister [routes]="routes" [totalRecords]="totalRecords"></app-routelister> </div> 将代码部署到作曲家,并且我希望能够将代码部署到不同的项目(生产,暂存,开发...)。使用gsutil rsync时,我唯一需要做的就是提供gcloud参数,以选择允许Jenkins这样做但似乎--account仅适用于config的服务帐户。文件,并且在同时运行多个作业时会产生竞争状态,因为这完全取决于gsutils中的配置。

是否可以指定Google Cloud的gcloud config必须使用哪个帐户?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

更多详细信息:https://cloud.google.com/storage/docs/gsutil/commands/config#configuring-service-account-credentials

希望这会有所帮助。