Можно ли указывать учетные записи служб при использовании gsutil? - PullRequest
0 голосов
/ 29 октября 2018

Я использую gsutil rsync в своем экземпляре Jenkins для развертывания кода на композиторе, и я хотел бы иметь возможность развертывать код на различных проектах (prodcution, staging, dev ...). При использовании gcloud единственное, что мне нужно сделать, это предоставить параметр --account, чтобы выбрать служебную учетную запись, которая позволяет Jenkins делать это, но похоже, что gsutils работает только с файлами конфигурации, и это создает гонку. условие, когда несколько заданий выполняются одновременно, поскольку все это будет зависеть от конфигурации, представленной в gcloud config.

Есть ли способ указать, какая учетная запись должна использоваться в Google Cloud gsutil?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

вы можете использовать gsutil config -e для передачи учетных данных учетной записи службы.

Подробнее: https://cloud.google.com/storage/docs/gsutil/commands/config#configuring-service-account-credentials

Надеюсь, это поможет.

0 голосов
/ 29 октября 2018

Прежде всего, обратите внимание, что если вы используете установку gsutil в комплекте с gcloud, gcloud передаст свои текущие учетные данные gsutil. Если вы хотите избежать этого и использовать несколько разных учетных данных / учетных записей для перекрывающихся вызовов, вам следует управлять учетными данными напрямую через gsutil (используя отдельные файлы конфигурации boto), а не gcloud. Вы можете отключить автоматическое прохождение учетных данных gcloud с помощью команды gcloud config set pass_credentials_to_gsutil false.

Отдельные установки gsutil будут по умолчанию записывать в один и тот же каталог состояний ($HOME/.gsutil), а также загружать одни и те же файлы конфигурации boto по умолчанию. Чтобы избежать условий гонки, вы можете (и должны) использовать ту же установку gsutil, но указать другой файл конфигурации state_dir и / или boto для вызовов, которые могут перекрываться. Это можно установить либо на уровне файла конфигурации boto, либо с помощью опции -o, например, gsutil -o "GSUtil:state_dir=$HOME/.gsutil2" cp src dst. Вы найдете больше информации об этом здесь .

...