En esta página, se describe cómo crear, actualizar, ver y borrar grupos privados de Cloud Build. Si no estás familiarizado con los grupos privados, consulta la descripción general de los grupos privados.
Antes de comenzar
Crea un proyecto de Google Cloud nuevo o elige uno existente. Usarás este proyecto para crear el grupo privado.
-
Enable the Cloud Build API.
Para usar los ejemplos de línea de comandos de esta guía, instala y Configura Google Cloud CLI.
[Opcional] Para que las compilaciones accedan a recursos privados desde tu red de nube privada virtual, debes establecer una conexión de intercambio de tráfico entre tu red de nube privada virtual y la Red de nube privada virtual en la que residen los grupos privados. Para obtener instrucciones, consulta cómo configurar tu para crear grupos privados.
Crea un nuevo grupo privado
Permisos de IAM: Necesitas Propietario de grupos de trabajadores de Cloud Build para realizar esta tarea. Si deseas obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.
Puedes crear hasta 10 grupos privados por proyecto de Google Cloud por región. Para crear un grupo privado nuevo, haz lo siguiente:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud:
Selecciona el proyecto en el que deseas crear el grupo privado.
En la página Grupo de trabajadores, haz clic en Crear.
Verás el panel lateral Crear grupo privado.
Ingresa la siguiente información para crear tu grupo privado:
Nombre: Ingresa un nombre para tu grupo privado. Este valor solo puede contener caracteres alfanuméricos
/[a-z][0-9]/
o guiones-
. El nombre de tu grupo privado debe estar entre 1 y 63 caracteres.Región: Selecciona la región en la que deseas crear el grupo privado.
Tipo de máquina: Selecciona el tipo de máquina de Compute Engine que deseas usar para tu grupo privado.
Tamaño de disco disponible: Ingresa un tamaño de disco para tu grupo privado. Especifica un valor superior o igual a 100 y menor o igual que 4,000. Si no se proporciona, Cloud Build usa un tamaño de disco de 100.
En Tipo de red, selecciona una de las siguientes opciones:
Red predeterminada: Selecciona esta opción si se puede acceder a tu instancia a través de Internet público. Si seleccionas la opción Red predeterminada está seleccionada, tu grupo privado usa la cuenta de productores. Para obtener más información, consulta Configura el entorno para usar grupos privados en una red de VPC.
Red privada: Selecciona esta opción si tu instancia está alojada en una red privada.
Project: Selecciona el ID de tu proyecto de Google Cloud.
Red: Selecciona tu red en el menú desplegable. Si no crearon una red, consulta Crea y administra VPC redes para aprender a crear una red.
Rango de IP: Ingresa el rango de IP interno que la red de productores de Cloud Build puede usar para asignar a las VMs que mantienen una conexión con repositorios privados.
Puedes especificar el rango con la notación de enrutamiento entre dominios sin clases (CIDR) en el formato
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE
. Por ejemplo,192.0.2.0/24
tiene una longitud de prefijo de 24. Los primeros 24 bits del rango de IP se usan como máscara de subred (192.0.2.0
), mientras que las direcciones de hosts posibles varían de192.0.2.0
a192.0.2.255
.El valor de la longitud del prefijo no debe exceder
/29
. Si la respuesta es no se especifica un valor predeterminado para el rango, se asigna automáticamente un valor predeterminado de/24
. Si no se especifica ningún valor para la longitud del prefijo, las direcciones IP se asignan automáticamente dentro de la red de VPC con intercambio de tráfico. Si no se especifica ningún valor para la IP dirección IP, se le asigna automáticamente un rango dentro de la red de VPC con intercambio de tráfico.
Asignar IPs externas: Esta opción está seleccionada de forma predeterminada para permitir que los grupos privados accedan a Internet público. Desmarca esta casilla para restringir el acceso a tu red privada.
Haz clic en Crear para crear tu grupo privado.
gcloud
Tienes dos opciones para crear un nuevo grupo privado con gcloud
: puedes pasar tu archivo de configuración de grupo privado al comando gcloud
o pasar las opciones de configuración directamente al comando gcloud
.
Pasa el archivo de configuración del grupo privado al comando gcloud
:
Crea el archivo de configuración del grupo privado en formato YAML o JSON.
Ejecute lo siguiente
gcloud
comando, en el quePRIVATEPOOL_ID
es un identificador único para tu grupo privado,PRIVATEPOOL_CONFIG_FILE
Es el nombre de tu archivo de configuración de grupo privado.REGION
es la región donde deseas crear tu grupo privado:gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
Deberías ver un resultado similar al siguiente:
Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool]. NAME CREATE_TIME STATUS private-pool 2018-11-19T16:08:24+00:00 RUNNING
Pasar las opciones de configuración directamente al gcloud
comando:
Ejecuta el siguiente comando gcloud
:
gcloud builds worker-pools create PRIVATEPOOL_ID \
--project=PRIVATEPOOL_PROJECT_ID \
--region=REGION \
--peered-network=PEERED_NETWORK \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
--no-public-egress
Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:
PRIVATEPOOL_ID
: Un identificador único para el grupo de privado. Este valor debe tener entre 1 y 63 caracteres, y los caracteres válidos son[a-zA-Z0-9_-]+
.PRIVATEPOOL_PROJECT_ID
: Es el ID del proyecto de Google Cloud. en la que quieres crear tu grupo privado.REGION
: Es una de las regiones compatibles.PEERED_NETWORK
: Es la URL del recurso de la red que intercambia tráfico con la red del productor de servicios.PEERED_NETWORK
debe tener el formatoprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
, en el queNETWORK_PROJECT_ID
es el ID del proyecto de Google Cloud que contiene tu red de VPC yNETWORK_NAME
es el nombre de tu red de VPC. Si no especificas un valor, Cloud Build usa la red del proveedor de servicios.PRIVATEPOOL_DISK_SIZE_GB
: Es el tamaño del disco conectado. al grupo privado. Especifica un valor superior o igual a 100 y menor o igual que 4,000. Si no se proporciona, Cloud Build usa un tamaño de disco de 100.--worker-disk-size
se anula si especificas un tamaño de disco diferente con--disk-size
durantegcloud builds submit
.PRIVATEPOOL_MACHINE_TYPE
: Es el tipo de máquina del trabajador. Si se deja en blanco, Cloud Build usa el valor predeterminado dee2-standard-2
. Para obtener una lista de los tipos de máquinas compatibles, consulta Esquema del archivo de configuración del grupo privado.--worker-machine-type
se anula si especificas un tipo de máquina diferente con--machine-type
durantegcloud builds submit
.--no-public-egress
: Si se configura esta marca, se crea el grupo privado. sin una dirección IP externa. Establece esta marca si creas el grupo privado dentro de un perímetro de Controles del servicio de VPC.
API
Crea el archivo de configuración del grupo privado con el nombre
workerpool.json
.Usa cURL para llamar a la API de Cloud Build:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:
PRIVATEPOOL_PROJECT_ID
: El ID del proyecto de Google Cloud en el que deseas crear tu grupo privado.PRIVATEPOOL_ID
: El ID de tu grupo privado. Este valor debe tener entre 1 y 63 caracteres, y los caracteres válidos son[a-zA-Z0-9_-]+
.REGION
: Una de las regiones compatibles para crear tu grupo privado.
Crea un grupo privado dentro de un perímetro de Controles del servicio de VPC
Si creas un grupo privado dentro de un perímetro de Controles del servicio de VPC, consulta Usa los Controles del servicio de VPC.
Actualiza un grupo privado
Permisos de IAM: Necesitas Editor de grupo de trabajadores de Cloud Build para realizar esta tarea. Para obtener instrucciones sobre cómo otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.
Puedes actualizar el tamaño del disco y el tipo de máquina de un grupo privado. Para actualizar un grupo privado, sigue estos pasos:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud:
Selecciona el proyecto en el que creaste el grupo privado.
Haz clic en el nombre del grupo privado.
En el panel lateral Editar grupo privado, actualiza el tipo de máquina o la el tamaño del disco.
Haz clic en Guardar.
gcloud
Actualiza el archivo de configuración del grupo de trabajadores:
Actualiza el campo que deseas cambiar en tu archivo de configuración del grupo privado.
Ejecuta el siguiente comando, en el que
PRIVATEPOOL_ID
es el identificador único de tu grupo privado,REGION
es la región en la que se encuentra tu grupo privado yPRIVATEPOOL_CONFIG_FILE
es el nombre de tu archivo de configuración de grupo privado:gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
Pasa el valor que se debe actualizar directamente al comando gcloud builds
worker-pools update
:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:
PRIVATEPOOL_ID
: El ID de tu grupo privado existente. No puedes actualizar este valor; debes especificar un ID de grupo privado existente.REGION
: La región en la que creaste tu grupo privado.PRIVATEPOOL_DISK_SIZE
: El tamaño del disco actualizado.PRIVATEPOOL_MACHINE_TYPE
es el tipo de máquina actualizado.
API
En tu archivo de configuración del grupo privado, actualiza el tamaño del disco o el tipo de máquina.
Usa cURL para llamar a la API de Cloud Build y reemplaza las variables por los valores adecuados:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \ -d @workerpool.json
Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del proyecto de Google Cloud. que contiene tu grupo privado.REGION
: Es la región en la que creaste el grupo privado.
Cómo ver los detalles de tu grupo privado
Permisos de IAM: Necesitas el rol de visualizador de WorkerPool de Cloud Build para realizar esta tarea. Para obtener instrucciones sobre cómo otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.
Para ver los detalles de un grupo privado, sigue estos pasos:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud:
Selecciona el proyecto en el que creaste el grupo privado
Haz clic en el nombre del grupo privado.
Aparecerá el panel lateral Editar grupo privado, que contiene los detalles de el grupo privado.
gcloud
Si no conoces el ID de tu grupo privado, ejecuta el siguiente comando para enumerar los detalles de tu grupo privado:
gcloud builds worker-pools list --project=PRIVATEPOOL_PROJECT_ID
En el ejemplo anterior, PRIVATEPOOL_PROJECT_ID
es el ID del proyecto de Google Cloud que contiene el grupo privado.
Deberías ver un resultado similar al siguiente:
NAME CREATE_TIME STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID] 2018-11-19T16:08:24+00:00 RUNNING
Si conoces el ID del grupo privado, ejecuta el siguiente comando para obtener más información sobre el grupo privado:
gcloud builds worker-pools describe PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:
PRIVATEPOOL_ID
: El ID de tu grupo privado.REGION
: Es la región en la que creaste el grupo privado.PRIVATEPOOL_PROJECT_ID
: El ID del proyecto de Google Cloud que contiene el grupo privado.
API
Si no conoces el ID de tu grupo privado, ejecuta el siguiente comando cURL para enumerar los detalles de tu grupo privado, en el que PRIVATEPOOL_PROJECT_ID
es el ID del proyecto de Google Cloud que contiene el grupo privado:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools
Si conoces el ID de tu grupo privado, ejecuta el siguiente comando: cURL para obtener los detalles de tu grupo privado:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: El ID del proyecto de Google Cloud que contiene el grupo privado.REGION
: La región en la que creaste tu grupo privado.
Borra un grupo privado
Permisos de IAM: Necesitas el rol de propietario de WorkerPool de Cloud Build para realizar esta tarea. Si deseas obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.
Para borrar un grupo privado, haz lo siguiente:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud:
Haz clic en el ícono de papelera de la fila del grupo privado.
gcloud
Para borrar un grupo privado, ejecuta el comando gcloud builds worker-pools
delete
:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del proyecto de Google Cloud. que contiene tu grupo privado.REGION
: La región en la que creaste tu grupo privado.
Después de borrar el grupo privado, deberías ver un resultado similar al siguiente: lo siguiente:
Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].
API
Usa cURL para llamar a la API de Cloud Build:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: El ID del proyecto de Google Cloud que contiene el grupo privado.REGION
: La región en la que creaste tu grupo privado.
¿Qué sigue?
- Obtén más información sobre cómo ejecutar compilaciones en grupos privados.
- Obtén más información sobre cómo usar los Controles del servicio de VPC con grupos privados.