Cloud Build vous permet de créer des déclencheurs pour créer à partir de dépôts hébergés sur Bitbucket Data Center. Vous pouvez ainsi exécuter des compilations en réponse à des événements tels que des transferts de commits ou des demandes d'extraction associés à votre dépôt Bitbucket Data Center.
Cette page explique comment activer la fonctionnalité de déclencheur sur une instance Bitbucket Data Center.
Avant de commencer
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Suivez les instructions pour associer un hôte Bitbucket Data Center.
- Suivez les instructions pour associer un dépôt Bitbucket Data Center.
Créer un déclencheur Bitbucket Data Center
Cette section explique comment connecter vos dépôts Bitbucket Data Center à Cloud Build et créer un déclencheur pour appeler automatiquement des compilations sur vos dépôts connectés. Si vous souhaitez utiliser des déclencheurs Bitbucket Data Center dans un réseau privé, consultez Créer des dépôts à partir de Bitbucket Data Center dans un réseau privé pour obtenir des instructions supplémentaires.
Console
Pour créer un déclencheur Bitbucket Data Center à l'aide de la console Google Cloud:
Ouvrez la page Déclencheurs :
Sélectionnez votre projet en haut de la page, puis cliquez sur Ouvrir.
Cliquez sur Créer un déclencheur.
Entrez les paramètres de déclencheur suivants :
Nom : nom de votre déclencheur.
Région: sélectionnez la région pour votre déclencheur.
- Si vous sélectionnez global (Monde) comme région, Cloud Build utilise le pool par défaut pour exécuter votre compilation.
- Si vous sélectionnez une région non globale et que le fichier de configuration de compilation associé au déclencheur spécifie un pool privé, Cloud Build utilise le pool privé pour exécuter votre compilation. Dans ce cas, la région que vous spécifiez dans votre déclencheur doit correspondre à celle dans laquelle vous avez créé votre pool privé.
- Si vous sélectionnez une région non globale et que le fichier de configuration de compilation associé au déclencheur ne spécifie pas de pool privé, Cloud Build utilise le pool par défaut pour exécuter votre compilation dans la même région que votre déclencheur.
Description (facultatif) : description de votre déclencheur.
Événement : sélectionnez l'événement lié au dépôt qui appelle votre déclencheur.
Déployer sur une branche : configurez votre déclencheur pour lancer une compilation sur les commits réalisés dans une branche spécifique.
Transférer le nouveau tag : configurez votre déclencheur pour lancer une compilation sur des commits contenant un tag particulier.
Demande d'extraction: configurez votre déclencheur pour lancer une compilation sur les commits d'une demande d'extraction.
Source: sélectionnez 1re génération comme source.
Dépôt: sélectionnez un dépôt dans la liste des dépôts disponibles. Pour connecter un nouveau dépôt, consultez la section Se connecter à un dépôt Bitbucket Data Center.
Branche ou tag : spécifiez une expression régulière à laquelle faire correspondre la valeur de la branche ou du tag.
Contrôle des commentaires: si vous avez sélectionné Demande d'extraction comme événement, choisissez l'une des options suivantes pour contrôler si une compilation doit être exécutée automatiquement par le déclencheur:
Obligatoire, sauf pour les propriétaires et les collaborateurs : lorsqu'une demande d'extraction est créée ou mise à jour par un propriétaire ou un collaborateur du dépôt, les compilations sont automatiquement exécutées par le déclencheur. Si un contributeur externe lance l'action, les compilations ne seront exécutées qu'après que le propriétaire ou le collaborateur a ajouté
/gcbrun
à la demande d'extraction.Obligatoire : lorsqu'une demande d'extraction est créée ou mise à jour par un contributeur, les compilations ne sont exécutées qu'après que le propriétaire ou le collaborateur a ajouté
/gcbrun
à la demande d'extraction. Les compilations sont exécutées chaque fois qu'une modification est apportée à une demande d'extraction.Non requis : lorsqu'une demande d'extraction est créée ou mise à jour par un contributeur, les compilations sont automatiquement exécutées par des déclencheurs.
Configuration: sélectionnez le fichier de configuration de compilation situé dans votre dépôt ou configurez votre compilation de manière intégrée sur le déclencheur.
Type: sélectionnez le type de configuration à utiliser pour votre compilation.
- Fichier de configuration Cloud Build (yaml or json) : utilisez un fichier de configuration de compilation pour votre configuration.
- Dockerfile : utilisez un fichier
Dockerfile
pour votre configuration.
Emplacement: spécifiez l'emplacement de votre configuration.
Dépôt: si votre fichier de configuration se trouve dans votre dépôt, indiquez l'emplacement de votre fichier de configuration de compilation ou le répertoire
Dockerfile
et un nom pour l'image obtenue. Si votre configuration est unDockerfile
, vous pouvez éventuellement fournir un délai d'expiration pour votre compilation. Une fois le fichierDockerfile
et le nom de l'image fournis, vous obtenez un aperçu de la commandedocker build
que votre compilation va exécuter.Intégré : si vous avez sélectionné Fichier de configuration Cloud Build (yaml ou json) comme option de configuration, vous pouvez spécifier votre configuration de compilation de manière intégrée. Cliquez sur Ouvrir l'éditeur pour écrire votre fichier de configuration de compilation dans la console Google Cloud à l'aide d'une syntaxe YAML ou JSON. Cliquez sur OK pour enregistrer la configuration de compilation.
Cliquez sur Créer pour créer votre déclencheur Bitbucket Data Center.
gcloud
Pour créer un déclencheur Bitbucket Data Center à l'aide de commandes gcloud
, vous devez exécuter la commande gcloud builds triggers create bitbucketserver
suivante dans votre terminal:
gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG
Où :
- TRIGGER_NAME correspond au nom de votre déclencheur.
- PROJECT_KEY est la clé de votre projet Bitbucket Data Center.
- REPO_SLUG est le slug de votre dépôt Bitbucket Data Center.
- PROJECT_NUMBER est le numéro de votre projetGoogle Cloud .
- REGION est la région associée à votre configuration du centre de données Bitbucket.
- ID est l'ID de votre BitbucketServerConfig.
- BRANCH_NAME est une expression régulière qui correspond à votre branche si vous souhaitez configurer votre déclencheur pour qu'il compile certaines branches.
- TAG_NAME est une expression régulière qui correspond à votre balise si vous souhaitez configurer votre déclencheur pour qu'il génère certaines balises.
- BUILD_CONFIG correspond au chemin d'accès à votre fichier de configuration de compilation.
API
Pour créer un déclencheur Bitbucket Data Center avec l'API, utilisez le modèle JSON suivant.
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"bitbucket_server_trigger_config": {
"repo_slug": "REPO_SLUG",
"project_key": "PROJECT_KEY",
"push": {
"branch": "BRANCH_NAME" # "tag": "TAG_NAME"
},
"bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID"
}
}
Où :
- REPO_SLUG est le slug de votre dépôt Bitbucket Data Center.
- PROJECT_KEY est la clé de votre projet Bitbucket Data Center.
- BRANCH_NAME est l'expression régulière qui correspond à votre branche si vous souhaitez configurer votre déclencheur pour qu'il effectue la compilation de certaines branches.
- TAG_NAME est l'expression régulière qui correspond à votre balise si vous souhaitez configurer votre déclencheur pour qu'il génère certaines balises.
- PROJECT_NUMBER est le numéro de votre projetGoogle Cloud .
- REGION est la région associée à votre configuration du centre de données Bitbucket.
- ID est l'ID de votre BitbucketServerConfig.
Saisissez la commande curl
suivante dans votre terminal, où PROJECT_ID est l' Google Cloud ID de votre projet:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Partage des données
Les données envoyées à Bitbucket Data Center depuis Cloud Build vous permettent d'identifier les déclencheurs par nom et d'afficher les résultats de compilation dans vos dépôts Bitbucket Data Center.
Les données suivantes sont partagées entre Cloud Build et l'hôte de votre centre de données Bitbucket:
- ID de projetGoogle Cloud
- Nom du déclencheur
Le partage de données est automatiquement activé pour Bitbucket Data Center.
Étape suivante
- Découvrez comment créer et gérer des déclencheurs de compilation.
- Découvrez comment créer des dépôts à partir de Bitbucket Data Center dans un réseau privé.
- Découvrez comment effectuer des déploiements bleu-vert sur Compute Engine.