setup-gcloud
Configura o Google Cloud SDK no ambiente GitHub Actions. O SDK do Google Cloud inclui os binários gcloud e gsutil.
Ou integre nativamente com outras ações do GitHub do Google Cloud:
Este não é um produto com suporte oficial do Google e não é coberto por um contrato de suporte do Google Cloud. Para relatar bugs ou solicitar recursos em um produto do Google Cloud, entre em contato com o suporte do Google Cloud.
Esta ação requer credenciais do Google Cloud para executar comandos gcloud. Consulte Autorização para obter mais detalhes.
Esta ação é executada usando o Nó 20. Se você estiver usando executores GitHub Actions auto-hospedados, deverá usar uma versão do executor que ofereça suporte a esta versão ou mais recente.
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
: (opcional, padrão: latest
) Uma string que representa a versão ou a restrição de versão do Cloud SDK ( gcloud
) a ser instalado (por exemplo, "290.0.1"
ou ">= 197.0.1"
). O valor padrão é "latest"
, que sempre fará download e instalará a versão mais recente disponível do Cloud SDK.
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 416.0.0'
Se não houver uma versão instalada gcloud
que corresponda à restrição especificada, esta ação do GitHub baixará e instalará a versão mais recente disponível que ainda corresponda à restrição.
A autenticação via Workload Identity Federation requer a versão 363.0.0 ou mais recente. Se precisar de suporte para Federação de Identidade de Carga de Trabalho, especifique sua restrição de versão como tal:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
Você é responsável por garantir que a versão gcloud
corresponda aos recursos e componentes necessários.
project_id
: (opcional) ID do projeto do Google Cloud. Se fornecido, isso configurará o gcloud para usar esse ID de projeto por padrão para comandos. Comandos individuais ainda podem substituir o projeto usando o sinalizador --project
que tem precedência. Se não for especificado, a ação tentará encontrar o "melhor" ID do projeto observando outras entradas e variáveis de ambiente.
install_components
: (opcional) lista de componentes adicionais do gcloud a serem instalados, especificados como uma lista de strings separadas por vírgula:
install_components: 'alpha,cloud-datastore-emulator'
skip_install
: (opcional) ignore a instalação do gcloud e use a versão fornecida pelo sistema. Se especificado, a entrada version
será ignorada.
version
: versão do gcloud que foi instalada. A ação setup-gcloud
instala o Cloud SDK ( gcloud
). Para configurar sua autenticação no Google Cloud, você deve primeiro usar a ação google-github-actions/auth. A ação auth
define as credenciais padrão do aplicativo e, em seguida, a ação setup-gcloud
faz referência a essas credenciais para configurar credenciais gcloud. Você pode autenticar através das seguintes opções:
bq
e gsutil
.
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 '
Se você estiver usando executores auto-hospedados hospedados no Google Cloud Platform, as credenciais serão obtidas automaticamente da conta de serviço anexada ao executor. Nesse cenário, você não precisa executar a ação 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 '
Para usar várias contas de serviço, é necessária uma segunda etapa de autenticação para atualizar as credenciais antes de usar 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]
Recomendamos fixar na versão principal mais recente disponível:
- uses : ' google-github-actions/setup-gcloud@v2 '
Embora esta ação tente seguir o versionamento semântico, somos, em última análise, humanos e às vezes cometemos erros. Para evitar alterações acidentais, você também pode fixar em uma versão específica:
- uses : ' google-github-actions/[email protected] '
No entanto, você não receberá atualizações automáticas de segurança ou novos recursos sem atualizar explicitamente o número da sua versão. Observe que publicamos apenas as versões MAJOR
e MAJOR.MINOR.PATCH
. Não existe um alias flutuante para MAJOR.MINOR
.