En este documento, se explica cómo ejecutar compilaciones en grupos privados. Si es la primera vez que usas los grupos privados, lee la Descripción general de los grupos privados.
Antes de comenzar
Asegúrate de haber creado un grupo privado con los pasos que se indican en Crea y administra grupos privados.
Para usar los ejemplos de la línea de comandos de esta guía, instala y configura Google Cloud CLI.
Puedes usar el mismo Google Cloud proyecto para crear tu grupo privado y tus compilaciones de Cloud Build, o bien usar proyectos diferentes. Si tus compilaciones están en un proyecto diferente de tu grupo privado, configura el proyecto predeterminado en gcloud CLI en el proyecto en el que se originan tus compilaciones:
gcloud config set project BUILD_ORIGIN_PROJECT_ID
Permisos de IAM
Para ejecutar compilaciones a través de gcloud CLI o la API de Cloud Build, otorga la función Usuario de WorkerPool en el proyecto del grupo privado al usuario o la cuenta de servicio que solicita la compilación.
Para ejecutar compilaciones automatizadas mediante activadores, haz lo siguiente:
- Si el proyecto en el que inicias la compilación es el mismo que el proyecto en el que existe tu grupo privado, no necesitas otorgar permisos.
Si el proyecto en el que inicias la compilación es diferente al proyecto en el que existe el grupo privado, otorga la función Usuario de WorkerPool a la cuenta de servicio que usas con tu activador en el proyecto de workerpool en el que se crean tus compilaciones:
Console
Abre la página IAM en la Google Cloud consola.
En el menú desplegable del selector de proyectos en la parte superior de la página, selecciona el proyecto que contiene tu grupo privado.
Haz clic en Otorgar acceso.
Ingresa la siguiente configuración de rol y principal:
Agregar entidades: Ingresa la dirección de correo electrónico de la cuenta de servicio que usas con tu activador.
Asignar roles: Selecciona el rol Usuario de WorkerPool de Cloud Build.
Haz clic en Guardar para guardar tus nuevos permisos de IAM.
gcloud
Para agregar la cuenta de servicio de compilación del activador al proyecto de workerpool con el rol cloudbuild.workerPoolUser:
gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT \ --role=roles/cloudbuild.workerPoolUserReemplaza los valores de marcador de posición en el comando anterior por los siguientes:
PRIVATEPOOL_PROJECT_IDes el ID del proyecto con el grupo privado que ejecuta la compilación.SERVICE_ACCOUNTes el correo electrónico de la cuenta de servicio que usas con el activador que ejecuta la compilación.
Ejecuta compilaciones
Puedes enviar compilaciones desde el mismo Google Cloud proyecto en el que creaste el
grupo privado o desde un Google Cloud proyecto diferente. Puedes especificar el grupo privado en tu archivo de configuración de compilación o directamente en el comando gcloud:
Especifica el grupo privado en el archivo de configuración de compilación:
En tu archivo de configuración de Cloud Build, agrega una opción
pooly especifica el nombre completo del recurso del grupo de trabajadores para ejecutar la compilación:YAML
steps: - name: 'bash' args: ['echo', 'I am running in a private pool!'] options: pool: name: 'projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID'JSON
{ "steps": [ { "name": "bash", "args": [ "echo", "I am running in a private pool!" ] } ], "options": { "pool" : { "name" : "projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID" } } }Reemplaza los valores de marcador de posición en el archivo de configuración anterior por lo siguiente:
PRIVATEPOOL_PROJECT_ID: Es el Google Cloud proyecto en el que se encuentra tu grupo privado.REGION: La región en la que creaste tu grupo privado.PRIVATEPOOL_ID: Es el ID único del grupo privado que especificaste cuando creaste el grupo privado.
Usa el archivo de configuración de compilación creado antes para ejecutar la compilación a través de
gcloudo la API o bien mediante activadores. Si tu instancia está alojada de forma local, Cloud Build también proporciona compatibilidad con la función de activador para varios sistemas externos de administración de código fuente, como GitHub Enterprise o Bitbucket Server.
Especifica el grupo privado en el comando gcloud:
Puedes especificar el grupo privado en el comando gcloud en lugar de en el archivo de configuración de compilación. Por ejemplo, supongamos que tienes el siguiente archivo de configuración de compilación:
YAML
steps:
- name: 'bash'
args: ['echo', 'I am running in a private pool!']
JSON
{
"steps": [
{
"name": "bash",
"args": [
"echo",
"I am running in a private pool!"
]
}
],
}
El siguiente comando compila con el archivo de configuración de compilación y especifica el grupo de trabajadores en el comando:
gcloud builds submit --config=CONFIG_FILE
--worker-pool=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:
CONFIG_FILE: Es la ruta de acceso a tu archivo de configuración de compilación.PRIVATEPOOL_ID: Es el ID único del grupo privado que especificaste cuando creaste el grupo privado.PRIVATEPOOL_PROJECT_ID: Es el Google Cloud proyecto en el que se encuentra tu grupo privado.REGION: La región en la que creaste tu grupo privado.
Próximos pasos
- Obtén más información para crear y administrar grupos privados.
- Obtén información para usar los Controles del servicio de VPC con grupos privados.
- Aprende a crear y administrar activadores de compilación.
- Obtén información para compilar repositorios desde GitHub Enterprise.
- Obtén información para compilar repositorios desde Bitbucket Server.