Cette page explique comment utiliser des compilateurs issus de la communauté et des compilateurs personnalisés dans Cloud Build. La La communauté de développeurs Cloud Build fournit des constructeurs que vous pouvez utiliser pour exécuter vos tâches. Si la tâche que vous souhaitez effectuer nécessite des fonctionnalités non fournies par une image existante, vous pouvez créer votre propre image personnalisée et l'utiliser dans une étape de compilation. Pour en savoir plus sur les différents types de compilateurs, consultez la section Compilateurs Cloud.
Si vous débutez avec Cloud Build, commencez par lire les Guides de démarrage rapide et la Présentation de la configuration des compilations.
Utiliser des compilateur issus de la communauté
Les images prédéfinies ne sont pas disponibles pour les compilateurs issus de la communauté. Pour utiliser ces compilateurs dans un fichier de configuration Cloud Build, vous devez d'abord créer l'image et la transférer vers Container Registry dans votre projet.
Pour utiliser un compilateur issus de la communauté :
Créez et transférez le compilateur :
Accédez au répertoire racine de votre projet.
Clonez le dépôt cloud-builders-community :
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
Accédez à l'image du compilateur que vous souhaitez utiliser, où builder-name est le répertoire qui contient le compilateur :
cd cloud-builders-community/builder-name
Envoyez la compilation à votre projet :
gcloud builds submit .
Revenez au répertoire racine de votre projet :
cd ../..
Supprimez le dépôt de votre répertoire racine :
rm -rf cloud-builders-community/
Dans votre fichier de configuration Cloud Build, utilisez le compilateur lors d'une étape de compilation :
YAML
steps: - name: 'gcr.io/project-id/builder-name' args: ['arg1', 'arg2', ...] ...
JSON
{ "steps": [ { "name": "gcr.io/project-id/builder-name", "args": [ "arg1", "arg2", ... ] ... } ] }
Utilisez le fichier de configuration de compilation pour démarrer la compilation manuellement ou à l'aide de déclencheurs.
Pour obtenir des exemples sur l'utilisation de compilateurs issus de la communauté, consultez les pages Déployer sur Firebase et Créer des images de VM à l'aide de Packer.
Créer un compilateur personnalisé
Si la tâche que vous souhaitez effectuer nécessite des fonctionnalités qui ne sont pas fournies par une image publique, un compilateur compatible ou un compilateur fourni par la communauté ; vous pouvez créer votre propre image et l'utiliser dans une étape de compilation.
Voici quelques exemples de situations dans lesquelles vous pouvez utiliser une image de compilation personnalisée :
- Télécharger du code source ou des packages depuis des emplacements externes
- Utiliser une chaîne d'outils externe
- Mettre en cache les bibliothèques nécessaires
- Pré-compiler la source (avec Cloud Build chargé uniquement de la mise en package éventuelle de la compilation dans une image)
Comme tout autre compilateur, un compilateur personnalisé s'exécute avec la source installée sous /workspace
et un répertoire de travail dans /workspace
. Tous les fichiers laissés dans /workspace
par une étape de compilation donnée sont disponibles pour d'autres étapes de compilation.
Votre compilateur personnalisé peut être transféré vers ou depuis un dépôt situé dans Container Registry (hébergé sur gcr.io/$PROJECT-NAME/
) auquel votre compte de service de compilation a accès.
Les étapes suivantes montrent comment créer et utiliser un compilateur personnalisé avec un exemple Dockerfile
:
Créez une image de compilateur personnalisée :
Créez le fichier
Dockerfile
pour le compilateur personnalisé. Le code suivant illustre un exemple de fichierDockerfile
:FROM alpine RUN apk add curl CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
Créez et transférez le compilateur personnalisé vers Container Registry de votre projet en remplaçant les valeurs de project-id et image-name :
gcloud builds submit --tag gcr.io/project-id/image-name
Utilisez l'image du compilateur personnalisé dans Cloud Build en spécifiant le compilateur dans le champ
name
d'une étape de compilation :YAML
steps: - name: 'gcr.io/project-id/image-name' id: Determine IP of this build worker
JSON
{ "steps": [ { "name": "gcr.io/project-id/image-name", "id": "Determine IP of this build worker" } ] }
Utilisez le fichier de configuration de compilation pour démarrer la compilation manuellement ou à l'aide de déclencheurs.
Étape suivante
- Découvrez comment exécuter des scripts bash dans les étapes de compilation.
- Découvrez comment configurer l'ordre des étapes de compilation.
- Découvrez comment créer un fichier de configuration de compilation de base.