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 la 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 de trabajadores privados y tus compilaciones de Cloud Build, o bien usar proyectos diferentes. 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 Usuario de WorkerPool en el proyecto del grupo privado a la cuenta de usuario o 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 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 el 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 estás usando con tu 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 de compilación del proyecto del activador al proyecto del grupo de trabajadores con el rol cloudbuild.workerPoolUser, haz lo siguiente:

      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 con el grupo privado que 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 el grupo privado o desde otro proyecto de Google Cloud. 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:

  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 lo creaste.
  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 gcloud:

Puedes especificar el grupo privado en el comando gcloud en lugar de en el 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 se 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: El ID único del grupo privado que especificaste cuando lo creaste.
  • PRIVATEPOOL_PROJECT_ID: El proyecto de Google Cloud en el que se encuentra tu grupo privado.
  • REGION: La región en la que creaste tu grupo privado.

Próximos pasos