Déploiement continu pour Azure FunctionsContinuous deployment for Azure Functions

Azure Functions vous permet de déployer votre code en continu via une intégration du contrôle de code source.You can use Azure Functions to deploy your code continuously by using source control integration. 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.Source control integration enables a workflow in which a code update triggers deployment to Azure. Si vous ne connaissez pas encore Azure Functions, commencez par consulter l’article Vue d’ensemble d’Azure Functions.If you're new to Azure Functions, get started by reviewing the Azure Functions overview.

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.Continuous deployment is a good option for projects where you integrate multiple and frequent contributions. Avec un déploiement continu, vous maintenez une source fidèle unique de votre code, qui permet aux équipes de collaborer facilement.When you use continuous deployment, you maintain a single source of truth for your code, which allows teams to easily collaborate. Vous pouvez configurer un déploiement continu dans Azure Functions à partir des emplacements de code source suivants :You can configure continuous deployment in Azure Functions from the following source code locations:

L’unité de déploiement de fonctions dans Azure est la Function App.The unit of deployment for functions in Azure is the function app. Toutes les fonctions incorporées dans une Function App sont déployées simultanément.All functions in a function app are deployed at the same time. 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.After you enable continuous deployment, access to function code in the Azure portal is configured as read-only because the source of truth is set to be elsewhere.

Exigences pour le déploiement continuRequirements for continuous deployment

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.For continuous deployment to succeed, your directory structure must be compatible with the basic folder structure that Azure Functions expects.

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, ainsi qu’un ou plusieurs sous-dossiers.The code for all the functions in a specific function app is located in a root project folder that contains a host configuration file and one or more subfolders. Chaque sous-dossier contient le code d’une fonction distincte.Each subfolder contains the code for a separate function. La structure de dossiers est présentée dans la représentation suivante :The folder structure is shown in the following representation:

FunctionApp
 | - host.json
 | - Myfirstfunction
 | | - function.json
 | | - ...  
 | - mysecondfunction
 | | - function.json
 | | - ...  
 | - SharedCode
 | - bin

Dans la version 2.x du runtime Functions, toutes les fonctions dans la Function App doivent partager la même pile de langage.In version 2.x of the Functions runtime, all functions in the function app must share the same language stack.

Le fichier host.json contient des configurations spécifiques du runtime et se trouve dans le dossier racine de la Function App.The host.json file contains runtime-specific configurations and is in the root folder of the function app. Un dossier bin contient des packages et autres fichiers de bibliothèque requis par la Function App.A bin folder contains packages and other library files that the function app requires. Consultez la configuration requise spécifique au langage d’un projet d’application de fonction :See the language-specific requirements for a function app project:

Configurer un déploiement continuSet up continuous deployment

Pour configurer le déploiement continu d’une Function App existante, procédez comme suit.To configure continuous deployment for an existing function app, complete these steps. 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.The steps demonstrate integration with a GitHub repository, but similar steps apply for Azure Repos or other source code repositories.

  1. Dans votre Function App sur le portail Azure, sélectionnez Fonctionnalités de la plateforme > Centre de déploiement.In your function app in the Azure portal, select Platform features > Deployment Center.

    Ouvrir le centre de déploiement

  2. Dans le Centre de déploiement, sélectionnez GitHub, puis Autoriser.In Deployment Center, select GitHub, and then select Authorize. Si vous avez déjà autorisé GitHub, sélectionnez Continuer.If you've already authorized GitHub, select Continue.

    Centre de déploiement Azure App Service

  3. Dans GitHub, sélectionnez le bouton Autoriser Azure App Service.In GitHub, select the Authorize AzureAppService button.

    Autoriser Azure App Service

    Dans le Centre de déploiement sur le portail Azure, sélectionnez Continuer.In Deployment Center in the Azure portal, select Continue.

  4. Sélectionnez l’un des fournisseurs de build suivants :Select one of the following build providers:

    • 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.App Service build service: Best when you don't need a build or if you need a generic build.
    • Azure Pipelines (Préversion)  : idéal si vous avez besoin de davantage de contrôle sur la build.Azure Pipelines (Preview): Best when you need more control over the build. Ce fournisseur est actuellement en préversion.This provider currently is in preview.

    Sélectionner un fournisseur de build

  5. Configurez les informations spécifiques à l’option de contrôle de code source que vous avez spécifiée.Configure information specific to the source control option you specified. Pour GitHub, vous devez entrer ou sélectionner des valeurs pour Organisation, Dépôt et Branche.For GitHub, you must enter or select values for Organization, Repository, and Branch. Les valeurs sont basées sur l’emplacement de votre code.The values are based on the location of your code. Sélectionnez ensuite Continuer.Then, select Continue.

    Configurer GitHub

  6. Vérifiez tous les détails, puis sélectionnez Terminer pour achever la configuration de votre déploiement.Review all details, and then select Finish to complete your deployment configuration.

    Résumé

Une fois le processus terminé, tout le code de la source spécifiée est déployé sur votre application.When the process is finished, all code from the specified source is deployed to your app. À 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.At that point, changes in the deployment source trigger a deployment of those changes to your function app in Azure.

Scénarios de déploiementDeployment scenarios

Déplacer des fonctions existantes pour un déploiement continuMove existing functions to continuous deployment

Si vous avez déjà écrit des fonctions sur le portail Azure et souhaitez télécharger le contenu de votre application avant de passer au déploiement continu, accédez à l’onglet Vue d’ensemble de votre Function App.If you've already written functions in the Azure portal and you want to download the contents of your app before you switch to continuous deployment, go to the Overview tab of your function app. Sélectionnez le bouton Télécharger le contenu de l’application.Select the Download app content button.

Télécharger le contenu de l’application

Notes

Après avoir configuré l’intégration continue, vous ne pouvez plus modifier vos fichiers sources dans le portail Functions.After you configure continuous integration, you can no longer edit your source files in the Functions portal.

Étapes suivantesNext steps