Déploiement continu pour Azure Functions

Azure Functions vous permet de déployer votre code en continu via une intégration du contrôle de code source. L’intégration du contrôle de code source active un flux de travail dans lequel une mise à jour de code déclenche un déploiement sur Azure. Si vous ne connaissez pas encore Azure Functions, commencez par consulter l’article Vue d’ensemble d’Azure Functions.

Le déploiement continu est une option intéressante pour des projets dans le cadre desquels vous intégrez des contributions multiples et fréquentes. Avec un déploiement continu, vous maintenez une source fidèle unique de votre code, qui permet aux équipes de collaborer facilement. Vous pouvez configurer un déploiement continu dans Azure Functions à partir des emplacements de code source suivants :

L’unité de déploiement de fonctions dans Azure est la Function App. Toutes les fonctions incorporées dans une Function App sont déployées simultanément. Une fois le déploiement continu activé, l’accès au code de fonction sur le portail Azure est configuré en lecture seule, car l’emplacement défini pour la source fidèle est situé ailleurs.

Exigences pour le déploiement continu

Pour que le déploiement continu fonctionne correctement, votre structure de répertoires doit être compatible avec la structure de dossiers de base attendue par Azure Functions.

Le code de toutes les fonctions d’une application de fonctions spécifique se trouve dans un dossier de projet racine qui contient un fichier de configuration d’hôte. Le fichier host.json contient des configurations spécifiques du runtime et se trouve dans le dossier racine de la Function App. Un dossier bin contient des packages et autres fichiers de bibliothèque requis par la Function App. Les structures de dossiers spécifiques requises par l’application de fonction dépendent du langage :

Dans les versions 2.x et ultérieures du runtime Functions, toutes les fonctions dans l’application de fonction doivent partager la même pile de langage.

Notes

Le déploiement continu n’est pas encore pris en charge pour les applications Linux exécutées sur un plan Consommation.

Configurer un déploiement continu

Pour configurer le déploiement continu d’une Function App existante, procédez comme suit. Ces étapes suivantes présentent l’intégration avec un dépôt GitHub, mais des étapes similaires s’appliquent aux Azure Repos ou à d’autres référentiels de code source.

  1. Dans votre application de fonction dans le Portail Azure, sélectionnez Centre de déploiement, puis GitHub et Autoriser. Si vous avez déjà autorisé GitHub, sélectionnez Continuer et ignorez cette étape.

    Centre de déploiement Azure App Service

  2. Dans GitHub, sélectionnez Autoriser AzureAppService.

    Autoriser Azure App Service

    Entrez votre mot de passe GitHub, puis sélectionnez Continuer.

  3. Sélectionnez l’un des fournisseurs de build suivants :

    • Service de build App Service : idéal si vous n’avez pas besoin d’une build ou si vous avez besoin d’une build générique.
    • Azure Pipelines (Préversion) : idéal si vous avez besoin de davantage de contrôle sur la build. Ce fournisseur est actuellement en préversion.

    Sélectionnez Continuer.

  4. Configurez les informations spécifiques à l’option de contrôle de code source que vous avez spécifiée. Pour GitHub, vous devez entrer ou sélectionner des valeurs pour Organisation, Dépôt et Branche. Les valeurs sont basées sur l’emplacement de votre code. Sélectionnez ensuite Continuer.

    Configurer GitHub

  5. Vérifiez tous les détails, puis sélectionnez Terminer pour achever la configuration de votre déploiement.

Une fois le processus terminé, tout le code de la source spécifiée est déployé sur votre application. À ce stade, les modifications apportées à la source de déploiement déclenchent un déploiement de ces modifications sur votre Function App dans Azure.

Notes

Après avoir configuré l’intégration continue, vous ne pouvez plus modifier vos fichiers sources dans le portail Functions. Si vous avez initialement publié votre code à partir de votre ordinateur local, vous devrez peut-être remplacer la valeur du paramètre WEBSITE_RUN_FROM_PACKAGE dans votre application de fonction par 0.

Étapes suivantes