Déployer des fonctions Cloud Functions avec le contrôle des versions

Cette page explique comment déployer Cloud Functions à l'aide d'un code dont la version est contrôlée dans Cloud Source Repositories.

Utilisez Cloud Source Repositories pour contrôler les versions du code contenant votre fonction en intégrant Cloud Functions à Cloud Source Repositories. À mesure que la fonction évolue avec le temps, vous avez toujours accès aux commits précédents pour voir comment et quand la fonction a changé.

Avant de commencer

  1. Suivez les étapes de la section Créer un dépôt de code dans Cloud Source Repositories.
  2. Activez l'API Cloud Functions et l'API Cloud Build.
  3. Activer l'API Cloud Functions et l'API Cloud Build

Ajouter une fonction au dépôt

  1. Sur votre machine locale, accédez au répertoire racine du dépôt hello-world :

    cd hello-world
    
  2. Sur votre système local, créez un répertoire pour le code de fonction.

    Linux ou macOS

    Créez le répertoire :

    mkdir gcf_hello_world

    Accédez au répertoire :

    cd gcf_hello_world

    Windows (CMD)

    Créez le répertoire :

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Accédez au répertoire :

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. Dans le répertoire gcf_hello_world, créez un fichier index.js contenant ce qui suit :

    /* HTTP Cloud Function.
    *
    * @param {Object} req Cloud Function request context.
    * @param {Object} res Cloud Function response context.
    */
    exports.helloGET = (req, res) => {
      res.send('Hello from Cloud Functions and Cloud Source Repositories');
    };
    

    Il s'agit d'une fonction simple nommée helloGET qui répond aux requêtes GET HTTP avec le texte Hello from Cloud Functions and Cloud Source Repositories.

Transférer vers Cloud Source Repositories

Transférez les fichiers que vous venez de créer vers Cloud Source Repositories.

  1. Ajoutez les fichiers :

    git add .
    
  2. Procédez au commit des fichiers en ajoutant un commentaire décrivant l'historique de cette action :

    git commit -m "Add Cloud Functions test to Cloud Source Repositories"
    
  1. À l'aide de la commande git push, ajoutez le contenu du dépôt Git local dans Cloud Source Repositories :

    git push origin master
    

Créer et déployer la fonction

Créez et déployez votre fonction à l'aide de la console Google Cloud ou de Google Cloud CLI.

Console

  1. Accédez à la page Cloud Functions.

    Accéder à la page Cloud Functions

    Assurez-vous que le projet Google Cloud pour lequel vous avez activé Cloud Functions est sélectionné.

  2. Cliquez sur Créer une fonction.

  3. Sur la page Créer une fonction, renseignez les champs suivants :

    • Dans le champ Environnement, sélectionnez 1re génération.
    • Dans le champ Nom de la fonction, saisissez cloud-source-repositories-test.
    • Dans le champ Région, sélectionnez us-central1.
    • Dans la liste Déclencheur, sélectionnez HTTP.
    • Dans la liste Authentification, sélectionnez Exiger l'authentification.
    • Assurez-vous que l'option Exiger HTTPS est cochée.
  4. Cliquez sur Enregistrer.

  5. Cliquez sur Suivant.

    • Dans le champ Environnement d'exécution, sélectionnez Node.js 16.
    • Dans le champ Point d'entrée, saisissez helloGET.
    • Dans la liste Code source, sélectionnez Dépôt source Cloud.
    • Dans le champ Dépôt, saisissez hello-world.
    • Dans le champ Nom de la branche, saisissez master.
    • Dans le champ Répertoire contenant le code source, saisissez /gcf_hello_world.
  6. Cliquez sur Déployer.

Pendant le déploiement de la fonction, une icône de chargement s'affiche juste à côté. Une fois le déploiement terminé, l'icône de chargement se transforme en coche verte.

gcloud CLI

  1. Dans une fenêtre de terminal, définissez une variable contenant votre ID de projet Google Cloud. Assurez-vous qu'il s'agit du même projet Google Cloud que celui contenant votre dépôt.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Déployez la fonction :

    gcloud functions deploy helloGET \
    --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \
    --trigger-http \
    --runtime=nodejs8;
    

Pour plus d'informations sur le déploiement dans Cloud Source Repositories, consultez la section Déployer des fonctions depuis un dépôt source.

Tester la fonction

Testez votre nouvelle fonction à l'aide de la console GCP ou de gcloud CLI.

Console

  1. Accédez à la page Présentation de Cloud Functions.

    Accéder à la page "Vue d'ensemble"

    Assurez-vous que le projet Google Cloud pour lequel vous avez activé Cloud Functions est sélectionné.

  2. Cliquez sur le menu Show actions (Afficher les actions) dans la ligne de la fonction cloud-source-repositories-test.

  3. Cliquez sur Tester la fonction.

  4. Cliquez sur le bouton Tester la fonction.

    Au bout d'une minute ou deux, le champ Résultat est actualisé de manière à afficher le message Hello from Cloud Functions and Cloud Source Repositories.

gcloud CLI

Dans une fenêtre de terminal, saisissez la commande suivante :

gcloud functions call helloGET

Le résultat doit être semblable à ce qui suit :

executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories

Effectuer un nettoyage

Pour supprimer la fonction et le dépôt que vous avez créés, procédez comme suit :

Supprimer la fonction

  1. Accédez à la page Présentation de Cloud Functions.

    Accéder à la page "Vue d'ensemble"

    Assurez-vous que le projet Google Cloud pour lequel vous avez activé Cloud Functions est sélectionné.

  2. Sélectionnez la fonction helloGET pour ce guide de démarrage rapide, cloud-source-repositories-test.

  3. Sur la même ligne, cliquez sur Autres , puis sur Supprimer.

Supprimer le dépôt

  1. Dans la console GCP, ouvrez la page Tous les dépôts pour Cloud Source Repositories.

    Ouvrir Cloud Source Repositories

  2. Maintenez le pointeur de la souris sur le dépôt que vous souhaitez supprimer et cliquez sur Paramètres .

    La page Paramètres généraux s'affiche.

  3. Cliquez sur Supprimer ce dépôt .

    La boîte de dialogue Supprimer le dépôt s'ouvre.

  4. Saisissez le nom du dépôt à supprimer.

  5. Cliquez sur Supprimer.

Étapes suivantes