setup-gcloud
Configura el SDK de Google Cloud en el entorno de GitHub Actions. El SDK de Google Cloud incluye los binarios de gcloud y gsutil.
O intégrelo de forma nativa con otras acciones de GitHub de Google Cloud:
Este no es un producto de Google con soporte oficial y no está cubierto por un contrato de soporte de Google Cloud. Para informar errores o solicitar funciones en un producto de Google Cloud, comuníquese con el soporte de Google Cloud.
Esta acción requiere credenciales de Google Cloud para ejecutar comandos de gcloud. Consulte Autorización para obtener más detalles.
Esta acción se ejecuta usando el Nodo 20. Si está utilizando ejecutores de GitHub Actions autohospedados, debe usar una versión del ejecutor que admita esta versión o una posterior.
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, predeterminado: latest
) Una cadena que representa la versión o la restricción de versión del SDK de la nube ( gcloud
) que se va a instalar (por ejemplo, "290.0.1"
o ">= 197.0.1"
). El valor predeterminado es "latest"
, que siempre descargará e instalará la última versión disponible del SDK de Cloud.
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 416.0.0'
Si no hay una versión gcloud
instalada que coincida con la restricción dada, esta acción de GitHub descargará e instalará la última versión disponible que aún coincida con la restricción.
La autenticación a través de Workload Identity Federation requiere la versión 363.0.0 o posterior. Si necesita soporte para Workload Identity Federation, especifique su restricción de versión como tal:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
Eres responsable de garantizar que la versión gcloud
coincida con las funciones y componentes necesarios.
project_id
: (opcional) ID del proyecto de Google Cloud. Si se proporciona, esto configurará gcloud para usar este ID de proyecto de forma predeterminada para los comandos. Los comandos individuales aún pueden anular el proyecto usando el indicador --project
que tiene prioridad. Si no se especifica, la acción intenta encontrar el "mejor" ID de proyecto observando otras entradas y variables de entorno.
install_components
: (opcional) lista de componentes adicionales de gcloud para instalar, especificada como una lista de cadenas separadas por comas:
install_components: 'alpha,cloud-datastore-emulator'
skip_install
: (opcional) omite la instalación de gcloud y usa la versión proporcionada por el sistema. Si se especifica, la entrada version
se ignora.
version
: versión de gcloud que se instaló. La acción setup-gcloud
instala el SDK de Cloud ( gcloud
). Para configurar su autenticación en Google Cloud, primero debe utilizar la acción google-github-actions/auth. La acción auth
establece las credenciales predeterminadas de la aplicación y luego la acción setup-gcloud
hace referencia a estas credenciales para configurar las credenciales de gcloud. Puede autenticarse a través de las siguientes opciones:
bq
y 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 '
Si utiliza corredores autohospedados alojados en Google Cloud Platform, las credenciales se obtienen automáticamente de la cuenta de servicio adjunta al corredor. En este escenario, no es necesario ejecutar la acción 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 varias cuentas de servicio, se requiere un segundo paso de autenticación para actualizar las credenciales 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 fijar la última versión principal disponible:
- uses : ' google-github-actions/setup-gcloud@v2 '
Si bien esta acción intenta seguir el control de versiones semántica, en última instancia somos humanos y, a veces, cometemos errores. Para evitar cambios importantes accidentales, también puede anclar a una versión específica:
- uses : ' google-github-actions/[email protected] '
Sin embargo, no obtendrá actualizaciones de seguridad automáticas ni nuevas funciones sin actualizar explícitamente su número de versión. Tenga en cuenta que solo publicamos versiones MAJOR
y MAJOR.MINOR.PATCH
. No existe un alias flotante para MAJOR.MINOR
.