Ejecutar compilaciones en un grupo privado

En este documento se explica cómo ejecutar compilaciones en grupos privados. Si no has usado nunca los grupos privados, consulta la información general sobre grupos privados.

Antes de empezar

  • Asegúrate de haber creado un grupo privado siguiendo los pasos que se indican en el artículo Crear y gestionar grupos privados.

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

  • Puedes usar el mismo proyecto para crear tu grupo privado y tus compilaciones de Cloud Build, o bien usar proyectos diferentes. Google Cloud Si tus compilaciones están en un proyecto diferente al de tu grupo privado, define el proyecto predeterminado en la CLI de gcloud como el proyecto en el que se originan tus compilaciones:

    gcloud config set project BUILD_ORIGIN_PROJECT_ID
    

Permisos de gestión de identidades y accesos

  • Para ejecutar compilaciones mediante la CLI de gcloud o la API de Cloud Build, asigna el rol Usuario de WorkerPool en el proyecto del grupo privado al usuario o a la cuenta de servicio que solicite la compilación.

  • Para ejecutar compilaciones automatizadas con activadores, sigue estos pasos:

    • Si el proyecto en el que vas a iniciar la compilación es el mismo en el que se encuentra tu grupo privado, no tienes que conceder ningún permiso.
    • Si el proyecto en el que vas a iniciar la compilación es diferente del proyecto en el que se encuentra tu grupo privado, asigna el rol Usuario de WorkerPool a la cuenta de servicio que vas a usar con tu activador en el proyecto de WorkerPool en el que se crearán tus compilaciones:

    Consola

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

      Abrir la página Permisos de gestión de identidades y accesos

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

    3. Haz clic en Conceder acceso.

    4. Introduce los siguientes ajustes de rol y principal:

      • Añadir principales: introduce la dirección de correo de la cuenta de servicio que estás usando con tu activador.

      • Asigna roles: selecciona el rol de usuario de WorkerPool de Cloud Build.

    5. Haz clic en Guardar para guardar los nuevos permisos de gestión de identidades y accesos.

    gcloud

    Para añadir la cuenta de servicio de compilación del proyecto de activador al proyecto de 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
    

    Sustituye los valores de marcador de posición del 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 de la cuenta de servicio que estás usando con el activador que ejecuta la compilación.

Ejecutar compilaciones

Puedes enviar compilaciones desde el mismo Google Cloud proyecto en el que creaste el grupo privado o desde otro Google Cloud proyecto. Puedes especificar el grupo privado en el archivo de configuración de compilación o directamente en el comando gcloud:

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

  1. En tu archivo de configuración de Cloud Build, añade una opción pool y especifica el nombre completo del recurso del grupo privado 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"
        }
      }
    }
    

    Sustituye los valores de marcador de posición del archivo de configuración anterior por los siguientes:

    • PRIVATEPOOL_PROJECT_ID: el proyecto Google Cloud en el que se encuentra tu grupo privado.
    • REGION: la región en la que has creado tu grupo privado.
    • PRIVATEPOOL_ID: el ID único del grupo privado que especificaste al crear el grupo privado.
  2. Usa el archivo de configuración de la compilación que has creado para ejecutar la compilación mediante gcloud o la API o con activadores. Si tu instancia está alojada en las instalaciones, Cloud Build también ofrece compatibilidad con la funcionalidad de activadores para varios sistemas de gestión de código fuente externos, como GitHub Enterprise o Bitbucket Server.

Especificar 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 tiene 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

Sustituye los valores de los marcadores de posición de los comandos anteriores por los siguientes:

  • CONFIG_FILE: ruta al archivo de configuración de compilación.
  • PRIVATEPOOL_ID: el ID único del grupo privado que especificaste al crear el grupo privado.
  • PRIVATEPOOL_PROJECT_ID: el proyecto Google Cloud en el que se encuentra tu grupo privado.
  • REGION: la región en la que has creado tu grupo privado.

Siguientes pasos