Ce document explique comment exécuter des compilations dans des pools privés. Si vous débutez avec les pools privés, consultez la présentation des pools privés.
Avant de commencer
Assurez-vous d'avoir créé un pool privé en suivant la procédure décrite sur 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 Google Cloud CLI.
Vous pouvez utiliser le même projet Google Cloud pour créer votre d'un pool privé et de vos compilations Cloud Build ou d'utiliser projets. Si vos compilations se trouvent dans un projet différent de votre pool privé, définissez le projet par défaut dans la gcloud CLI sur le projet d'où proviennent vos compilations :
gcloud config set project BUILD_ORIGIN_PROJECT_ID
Autorisations IAM
Pour exécuter des compilations via la gcloud CLI ou l'API Cloud Build, accordez le rôle Utilisateur de pool de nœuds de calcul dans le projet de pool privé à l'utilisateur ou au 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 identique à celui dans lequel se trouve le pool privé, vous n'avez pas besoin d'accorder d'autorisations.
Si le projet dans lequel vous démarrez la compilation est différent de celui dans lequel se trouve le pool privé, attribuez le rôle Utilisateur de pool de nœuds de calcul au compte de service que vous utilisez avec votre déclencheur sur le projet de pool de nœuds de calcul dans lequel vos compilations sont créées :
Console
Ouvrez la page IAM dans la console Google Cloud.
Dans le menu déroulant permettant de sélectionner le projet, en haut de la page, sélectionnez le projet contenant votre pool privé.
Cliquez sur Accorder l'accès.
Saisissez les paramètres de comptes principaux et de rôle suivants:
Ajouter des comptes principaux : saisissez l'adresse e-mail du compte de service que vous utilisez avec votre déclencheur.
Attribuer des rôles : sélectionnez le rôle Utilisateur de pool de nœuds de calcul Cloud Build.
Cliquez sur Enregistrer pour enregistrer les nouvelles autorisations IAM.
gcloud
Pour ajouter le compte de service de compilation à partir du déclencheur au projet workerpool avec le rôle cloudbuild.workerPoolUser:
gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT \ --role=roles/cloudbuild.workerPoolUser
Remplacez les valeurs d'espace réservé dans la commande ci-dessus par les éléments suivants :
PRIVATEPOOL_PROJECT_ID
est l'ID du projet dans lequel le pool privé exécute la compilation.SERVICE_ACCOUNT
est l'adresse e-mail du service. que vous utilisez avec le déclencheur qui exécute la compilation.
Exécuter des compilations
Vous pouvez envoyer des compilations à partir du projet Google Cloud dans lequel vous avez créé le
d'un pool privé ou d'un autre projet Google 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:
Dans votre fichier de configuration Cloud Build, ajoutez une option
pool
et spécifiez le nom complet de la ressource du pool privé pour exécuter la compilation :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" } } }
Remplacez les valeurs d'espace réservé dans le fichier de configuration ci-dessus par les éléments suivants :
PRIVATEPOOL_PROJECT_ID
: projet Google Cloud dans lequel d'une piscine privée.REGION
: région dans laquelle vous avez créé votre pool privé.PRIVATEPOOL_ID
: ID de pool privé unique que vous avez spécifié lors de la création du pool privé.
Utilisez le fichier de configuration de compilation créé ci-dessus pour exécuter la compilation via
gcloud
ou l'API ou à l'aide de déclencheurs. Si votre instance est hébergée sur site, Cloud Build fournit également une fonctionnalité de déclenchement pour plusieurs systèmes de gestion de code source externes, tels que GitHub Enterprise ou Bitbucket Server.
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 effectue la compilation en utilisant 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/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_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.PRIVATEPOOL_ID
: ID de pool privé unique que vous avez spécifié lors de la création du pool privé.PRIVATEPOOL_PROJECT_ID
: projet Google Cloud dans lequel se trouve votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.
Étape suivante
- Découvrez comment créer et gérer des pools privés.
- Découvrez comment utiliser VPC Service Controls avec des pools privés.
- Découvrez comment créer et gérer des déclencheurs de compilation.
- Découvrez comment créer des dépôts à partir de GitHub Enterprise.
- Apprenez à créer des dépôts à partir de Bitbucket Server.