setup-gcloud
Действие GitHubНастраивает Google Cloud SDK в среде GitHub Actions. Google Cloud SDK включает в себя двоичные файлы gcloud и gsutil.
Или интегрируйтесь с другими действиями Google Cloud GitHub:
Это официально не поддерживаемый продукт Google, и на него не распространяется контракт на поддержку Google Cloud. Чтобы сообщить об ошибках или запросить функции в продукте Google Cloud, обратитесь в службу поддержки Google Cloud.
Для этого действия требуются учетные данные Google Cloud для выполнения команд gcloud. Подробнее см. в разделе Авторизация.
Это действие выполняется с использованием Node 20. Если вы используете локальные средства запуска GitHub Actions, вам необходимо использовать версию средства запуска, поддерживающую эту версию или более позднюю.
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
with :
version : ' >= 363.0.0 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
version
: (Необязательно, по умолчанию: latest
) Строка, представляющая версию или ограничение версии устанавливаемого Cloud SDK ( gcloud
) (например, "290.0.1"
или ">= 197.0.1"
). Значением по умолчанию является "latest"
, при котором всегда будет скачиваться и устанавливаться последняя доступная версия Cloud SDK.
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 416.0.0'
Если нет установленной версии gcloud
, соответствующей данному ограничению, это действие GitHub загрузит и установит последнюю доступную версию, которая все еще соответствует данному ограничению.
Для аутентификации через Workload Identity Federation требуется версия 363.0.0 или новее. Если вам нужна поддержка Workload Identity Federation, укажите ограничение версии следующим образом:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
Вы несете ответственность за то, чтобы версия gcloud
соответствовала необходимым функциям и компонентам.
project_id
: (Необязательно) Идентификатор проекта Google Cloud. Если он указан, это настроит gcloud на использование этого идентификатора проекта по умолчанию для команд. Отдельные команды по-прежнему могут переопределять проект, используя флаг --project
, который имеет приоритет. Если не указано, действие пытается найти «лучший» идентификатор проекта, просматривая другие входные данные и переменные среды.
install_components
: (Необязательно) Список дополнительных компонентов gcloud для установки, указанный в виде списка строк, разделенных запятыми:
install_components: 'alpha,cloud-datastore-emulator'
skip_install
: (Необязательно) Пропустить установку gcloud и вместо этого использовать версию, предоставленную системой. Если указано, ввод version
игнорируется.
version
: версия gcloud, которая была установлена. Действие setup-gcloud
устанавливает Cloud SDK ( gcloud
). Чтобы настроить его аутентификацию в Google Cloud, сначала необходимо использовать действие google-github-actions/auth. Действие auth
устанавливает учетные данные приложения по умолчанию, затем действие setup-gcloud
ссылается на эти учетные данные для настройки учетных данных gcloud. Вы можете пройти аутентификацию с помощью следующих опций:
bq
и gsutil
необходимо использовать Cloud SDK версии 390.0.0 или более поздней.
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
jobs :
job_id :
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
credentials_json : ' ${{ secrets.GCP_CREDENTIALS }} '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
Если вы используете автономные бегуны, размещенные на Google Cloud Platform, учетные данные автоматически получаются из сервисной учетной записи, прикрепленной к бегуну. В этом сценарии вам не нужно запускать действие google-github-actions/auth.
jobs :
job_id :
steps :
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
Чтобы использовать несколько учетных записей служб, необходимо выполнить второй шаг аутентификации для обновления учетных данных перед использованием setup-gcloud
:
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth service account 1 '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud auth list --filter=status:ACTIVE --format="value(account)" '
# [email protected]
- id : ' auth service account 2 '
uses : ' google-github-actions/auth@v2 '
with :
credentials_json : ' ${{ secrets.GCP_CREDENTIALS }} '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud auth list --filter=status:ACTIVE --format="value(account)" '
# [email protected]
Мы рекомендуем закрепить последнюю доступную основную версию:
- uses : ' google-github-actions/setup-gcloud@v2 '
Хотя это действие и пытается следовать семантическому версионированию, в конечном итоге мы люди и иногда допускаем ошибки. Чтобы предотвратить случайные критические изменения, вы также можете закрепить их за конкретной версией:
- uses : ' google-github-actions/[email protected] '
Однако вы не получите автоматические обновления безопасности или новые функции без явного обновления номера версии. Обратите внимание, что мы публикуем только версии MAJOR
и MAJOR.MINOR.PATCH
. Для MAJOR.MINOR
не существует плавающего псевдонима.