Exécuter des compilations dans un pool privé

Ce document explique comment exécuter des builds dans des pools privés. Si vous ne savez pas encore comment utiliser les pools privés, consultez la page Présentation des pools privés.

Avant de commencer

  • Assurez-vous d'avoir créé un pool privé en suivant les étapes décrites à la page Créer et gérer des pools privés.

  • Pour utiliser les exemples de ligne de commande de ce guide, installez et configurez le SDK Cloud.

  • Vous pouvez utiliser le même projet Cloud pour créer votre pool privé et vos compilations Cloud Build, ou utiliser différents projets. Si vos builds se trouvent dans un projet différent de votre pool privé, définissez le projet par défaut dans l'outil gcloud sur le projet d'où proviennent vos compilations:

    gcloud config set project BUILD_ORIGIN_PROJECT_ID
    

Autorisations IAM

  • Pour exécuter des compilations via l'outil gcloud ou l'API Cloud Build, attribuez le rôle Utilisateur de pool dans le projet de pool privé à l'utilisateur ou au compte de service qui demande la compilation.

  • Pour exécuter des compilations automatiques à l'aide de déclencheurs, procédez comme suit :

    • Si le projet dans lequel vous démarrez la compilation est le même que celui dans lequel se trouve votre pool privé, vous n'avez pas besoin d'accorder d'autorisation.
    • Si le projet dans lequel vous démarrez la compilation est différent du projet dans lequel se trouve votre pool privé, accordez le rôle Utilisateur du pool de nœuds de calcul au compte de service Cloud Build dans le projet. là où vos compilations sont créées.

Pour obtenir des instructions sur l'attribution de rôles IAM, consultez la page Rôles et autorisations IAM.

Exécuter des compilations

Vous pouvez envoyer des builds à partir du projet Cloud dans lequel vous avez créé le pool privé ou à partir d'un autre projet Cloud. Vous pouvez spécifier le pool privé dans votre fichier de configuration de compilation ou directement dans la commande gcloud:

Spécifier le pool privé dans le fichier de configuration de compilation:

  1. Dans votre fichier de configuration Cloud Build, ajoutez une option pool et spécifiez le nom complet de la ressource du pool de nœuds de calcul pour exécuter la compilation :

    YAML

    steps:
    - name: 'bash'
      args: ['echo', 'I am running in a private pool!']
    options:
      pool:
        name: 'projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID'
    

    JSON

    {
      "steps": [
      {
        "name": "bash",
        "args": [
          "echo",
          "I am running in a private pool!"
        ]
      }
      ],
      "options": {
        "pool" : {
          "name" : "projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID"
        }
      }
    }
    

    Remplacez les valeurs d'espace réservé dans le fichier de configuration ci-dessus par les éléments suivants :

    • WORKERPOOL_PROJECT_ID: projet Cloud dans lequel se trouve votre pool privé.
    • REGION: région dans laquelle vous avez créé votre pool privé.
    • WORKERPOOL_ID: ID unique du pool de nœuds de calcul que vous avez spécifié lors de la création du pool privé.
  2. Utilisez le fichier de configuration de compilation créé ci-dessus pour exécuter votre compilation via gcloud ou une API ou à l'aide de déclencheurs.

Spécifier le pool privé dans la commande gcloud:

Vous pouvez spécifier le pool privé dans la commande gcloud au lieu du fichier de configuration de compilation. Par exemple, supposons que vous disposiez du fichier de configuration de compilation suivant:

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!"
      ]
    }
    ],
  }

La commande suivante compile le fichier de configuration de compilation et spécifie le pool de nœuds de calcul dans la commande:

gcloud builds submit --config=CONFIG_FILE
  --worker-pool=projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • CONFIG_FILE: chemin d'accès à votre fichier de configuration de compilation.
  • WORKERPOOL_ID: ID unique du pool de nœuds de calcul que vous avez spécifié lors de la création du pool privé.
  • WORKERPOOL_PROJECT_ID: projet Cloud dans lequel se trouve votre pool privé.
  • REGION: région dans laquelle vous avez créé votre pool privé.

Étape suivante