Ejecuta compilaciones en un grupo privado

En este documento, se explica cómo ejecutar compilaciones en grupos privados. Si eres nuevo a los grupos privados, lee la Descripción general de los grupos privados.

Antes de comenzar

  • Asegúrate de haber creado un grupo privado siguiendo los pasos que se indican en Crea y administra grupos privados.

  • Para usar los ejemplos de línea de comandos de esta guía, instala y Configura Google Cloud CLI.

  • Puedes usar el mismo proyecto de Google Cloud para crear tu grupo privado y tus compilaciones de Cloud Build o usar diferentes proyectos. Si tus compilaciones están en un proyecto diferente al proyecto privado grupo, establece el proyecto predeterminado en gcloud CLI en el proyecto en el que se originan las 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 el rol WorkerPool User en el proyecto de grupo privado para el usuario o servicio cuenta 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 del en el que existe tu grupo privado, otorga el rol WorkerPool User rol a la cuenta de servicio que estás usando con el activador en Proyecto workerpool en el que se crean tus compilaciones:

    Console

    1. Abre la página IAM en la consola de Google Cloud.

      Abrir la página Permisos de IAM

    2. En el menú desplegable del selector de proyectos en la parte superior de la página, selecciona el proyecto que contiene tu grupo privado.

    3. Haz clic en Otorgar acceso.

    4. Ingresa la siguiente configuración de principal y rol:

      • Agregar principales: Ingresa la dirección de correo electrónico de la cuenta de servicio que que estás usando con el activador.

      • Asignar roles: Selecciona el rol Usuario de grupo de trabajadores de Cloud Build.

    5. Haz clic en Guardar para guardar los nuevos permisos de IAM.

    gcloud

    Para agregar la cuenta de servicio predeterminada de Cloud Build desde el activador al proyecto workerpool con el rol cloudbuild.workerPoolUser:

      gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \
          --member=serviceAccount:SERVICE_ACCOUNT \
          --role=roles/cloudbuild.workerPoolUser
    

    Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:

    • PRIVATEPOOL_PROJECT_ID es el ID del proyecto. y el grupo privado ejecuta la compilación.
    • SERVICE_ACCOUNT es el correo electrónico del servicio. cuenta que usas y el activador que ejecuta la compilación.

Ejecuta compilaciones

Puedes enviar compilaciones desde el mismo proyecto de Google Cloud en el que creaste la grupo privado o desde otro proyecto de Google Cloud. Puedes especificar al grupo privado, ya sea en tu archivo de configuración de compilación o directamente en Comando gcloud:

Especifica el grupo privado en el archivo de configuración de compilación:

  1. En tu archivo de configuración de Cloud Build, agrega una opción pool y 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 proyecto de Google Cloud en el que se de que se ubique la piscina privada.
    • REGION: La región en la que creaste tu grupo privado.
    • PRIVATEPOOL_ID: El ID único del grupo privado que especificaste cuando crees el grupo privado.
  2. Usa el archivo de configuración de compilación creado anteriormente para ejecutar tu compilación mediante gcloud o la API. o usar activadores. Si el se aloja de forma local, Cloud Build también proporciona activar la compatibilidad de funciones para varias sistemas de administración de código fuente, como GitHub Enterprise o Bitbucket Server.

Especifica el grupo privado en el comando de gcloud:

Puedes especificar el grupo privado en el comando gcloud, en lugar de hacerlo en archivo de configuración de compilación. Por ejemplo, considera que tienes la siguiente configuración de compilación archivo:

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 realiza compilaciones usando el archivo de configuración de compilación y especifica el worker pool 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: El ID único del grupo privado que especificaste cuando crees el grupo privado.
  • PRIVATEPOOL_PROJECT_ID: Es el proyecto de Google Cloud en el que se de que se ubique la piscina privada.
  • REGION: La región en la que creaste tu grupo privado.

Próximos pasos