Utiliser des compilateurs issus de la communauté et personnalisés

Cette page explique comment utiliser des compilateurs issus de la communauté et des compilateurs personnalisés dans Cloud Build. La communauté de développeurs Cloud Build fournit des compilateurs Open Source que vous pouvez utiliser pour exécuter des 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é :

  1. Créez et transférez le compilateur :

    1. Accédez au répertoire racine de votre projet.

    2. Clonez le dépôt cloud-builders-community :

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. 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
      
    4. Envoyez la compilation à votre projet :

      gcloud builds submit .
      
    5. Revenez au répertoire racine de votre projet :

      cd ../..
      
    6. Supprimez le dépôt de votre répertoire racine :

      rm -rf cloud-builders-community/
      
  2. 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",
          ...
        ]
        ...
      }
      ]
    }
    
  3. 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 issu de 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 Cloud Build a accès.

Les étapes suivantes montrent comment créer et utiliser un compilateur personnalisé avec un exemple Dockerfile :

  1. Créez une image de compilateur personnalisée :

    1. Créez le fichier Dockerfile pour le compilateur personnalisé. Le code suivant illustre un exemple de fichier Dockerfile :

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. 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
      
  2. 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"
          }
          ]
        }
    
  3. Utilisez le fichier de configuration de compilation pour démarrer la compilation manuellement ou à l'aide de déclencheurs.

Étape suivante