Déployer des fonctions Cloud Functions

Déploiement

Pour effectuer des déploiements, vous devez transférer une archive contenant le code source de votre fonction vers un bucket Google Cloud Storage. Une fois le code source importé, Cloud Build compile automatiquement votre code dans une image de conteneur, puis transfère cette image à Container Registry. Cloud Functions utilise cette image pour créer le conteneur qui exécute votre fonction.

Plus précisément :

  1. Le démarrage d'un déploiement compresse votre code source avec tous les fichiers, à l'exception de ceux qui correspondent à un modèle .gcloudignore.
  2. Une fois votre code source compressé et importé, une compilation est envoyée à Cloud Build. La compilation utilise la commande pack build avec gcr.io/buildpacks/builder:v1 pour compiler votre conteneur. Les opérations suivantes s'effectuent alors :

    • Utilisation de l'image Ubuntu de base.
    • Installation de l'environnement d'exécution du langage.
    • Installation du framework des fonctions, s'il n'est pas déjà présent.
    • Installation des dépendances utilisateur.
    • Exportation de l'image OCI.

La mise en cache permet d'accélérer ces étapes. Regardez cette vidéo pour obtenir un aperçu du processus.

Options de déploiement

Vous pouvez déployer des fonctions Cloud Functions depuis votre ordinateur local, depuis votre dépôt source GitHub ou Bitbucket (via Cloud Source Repositories) ou directement depuis l'API Cloud Functions.

Lors du déploiement, Cloud Functions recherche des fichiers spécifiques, en fonction de votre environnement d'exécution. Pour en savoir plus, consultez la page Écrire des fonctions Cloud Functions. Avant que le déploiement de votre fonction ne soit finalisé, Cloud Functions enverra une requête de test pour confirmer son déploiement.

Migrer entre les déploiements

Le premier déploiement d'une fonction peut prendre plusieurs minutes lorsque l'infrastructure sous-jacente est provisionnée. Le redéploiement d'une fonction existante est plus rapide, et le trafic entrant sera automatiquement migré vers la version la plus récente de votre fonction.

Concepts fondamentaux

À mesure que vous découvrez les différentes manières de déployer des fonctions, il est utile de comprendre la terminologie de base. Lorsque vous déployez une fonction, celle-ci s'affiche dans Cloud Console, comme indiqué ci-dessous. En particulier, observez les champs Nom et Fonction exécutée :

  • Le champ Name (Nom) correspond au nom enregistré que vous attribuez à votre fonction.
  • Le champ Executed function (Fonction exécutée) est le nom de la fonction réelle de votre code source qui est exécutée lorsque la fonction déployée est appelée.

Ces deux champs peuvent porter le même nom ou porter un nom différent. Notez ci-dessous que les deux premières fonctions ont des noms enregistrés différents des noms des fonctions exécutées. La dernière fonction utilise le même nom pour les deux champs : helloHttp.

Capture d'écran montrant le processus de déploiement d'une fonction

Créer et tester en local

Cloud Functions s'exécute dans des environnements d'exécution basés sur des langages et des frameworks Open Source, afin que vous puissiez créer et tester vos fonctions en local à l'aide d'environnements d'exécution et d'outils de développement standards.

Vous pouvez également employer le framework des fonctions pour exécuter et déboguer vos fonctions en local dans les environnements d'exécution compatibles, afin de faciliter les tests et le débogage.

Étapes suivantes