Ejecuta compilaciones en un grupo privado

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 de 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 proyectos diferentes. Si tus compilaciones están en un proyecto diferente al del 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 WorkerPool User en el proyecto del grupo privado al usuario o a 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 del proyecto en el que existe el grupo privado, otorga la función WorkerPool User a la cuenta de servicio que usas con el activador en el proyecto de 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 contenga 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 usas 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 proyecto activador al proyecto workerpool con la función cloudbuild.workerPoolUser, sigue estos pasos:

      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 de la cuenta de servicio que usas con 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 el 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 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.
  2. Usa el archivo de configuración de compilación que se creó antes para ejecutar tu compilación mediante gcloud o la API, o mediante activadores. Si tu instancia se aloja de forma local, Cloud Build también proporciona compatibilidad con la funcionalidad de activador para varios sistemas de administración de código fuente externos, 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 el archivo de configuración de compilación. Por ejemplo, considera 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 realiza compilaciones mediante 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 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