Déploiement continu pour Azure Functions

Azure Functions vous permet de déployer en continu les modifications apportées à un référentiel de contrôle des sources dans une application fonctionnelle connectée. Cette intégration du contrôle de code source active un flux de travail dans lequel une mise à jour de code déclenche la génération, l'empaquetage et le déploiement de votre projet vers Azure.

Vous devez toujours configurer le déploiement continu pour un emplacement intermédiaire et non pour l'emplacement de production. Lorsque vous utilisez l’emplacement de production, les mises à jour de code sont envoyées directement en production sans être vérifiées dans Azure. Au lieu de cela, activez le déploiement continu sur un emplacement intermédiaire, vérifiez les mises à jour dans l'emplacement intermédiaire et, une fois que tout fonctionne correctement, vous pouvez échanger le code de l'emplacement intermédiaire en production. Si vous vous connectez à un emplacement de production, assurez-vous que seul le code de qualité production est introduit dans la branche de code intégrée.

Les étapes de cet article vous montrent comment configurer des déploiements de code continus sur votre application de fonction dans Azure à l’aide du Centre de déploiement du Portail Microsoft Azure. Vous pouvez également configurer l’intégration continue à l’aide d'Azure CLI. Ces étapes peuvent cibler un emplacement de mise en lots ou de production.

Functions prend en charge ces sources pour un déploiement continu sur votre application :

Gérez le code de votre projet dans Azure Repos, l'un des services d'Azure DevOps. Prend en charge le contrôle de version Git et Team Foundation Version Control. Utilisé avec le fournisseur de build Azure Pipelines. Pour plus d’informations, consultez Qu’est-ce qu’Azure Repos ?

Vous pouvez également connecter votre application de fonction à un référentiel Git externe, mais cela nécessite une synchronisation manuelle. Pour plus d'informations sur les options de déploiement, consultez Technologies de déploiement dans Azure Functions.

Remarque

Les options de déploiement continu abordées dans cet article sont spécifiques aux déploiements de code uniquement. Pour les déploiements d’applications de fonction conteneurisées, consultez Activer le déploiement continu de conteneurs sur Azure.

Spécifications

L’unité de déploiement de fonctions dans Azure est la Function App. Pour que le déploiement continu fonctionne correctement, la structure de répertoires de votre projet doit être compatible avec la structure de dossiers de base attendue par Azure Functions. Lorsque vous créez votre projet de code à l'aide d'Azure Functions Core Tools, Visual Studio Code ou Visual Studio, les modèles Azure Functions sont utilisés pour créer des projets de code avec la structure de répertoire correcte. Toutes les fonctions d'une application de fonction sont déployées en même temps et dans le même package.

Une fois le déploiement continu activé, l’accès au code de fonction dans le Portail Microsoft Azure est configuré en lecture seule, car on sait que la source de vérité réside ailleurs.

Remarque

Le Centre de déploiement ne prend pas en charge l’activation du déploiement continu pour une application de fonction avec des restrictions de réseau entrant. Vous devez plutôt configurer le workflow du fournisseur de build directement dans GitHub ou Azure Pipelines. Ces workflows nécessitent également que vous utilisiez une machine virtuelle dans le même réseau virtuel que l'application de fonction en tant qu'agent auto-hébergé (Pipelines) ou exécuteur auto-hébergé (GitHub).

Sélectionner un fournisseur de build

La création de votre projet de code fait partie du processus de déploiement. Le processus de création spécifique dépend de votre pile linguistique, de votre système d'exploitation et de votre plan d'hébergement spécifiques. Les builds peuvent être effectués localement ou à distance, encore une fois en fonction de votre hébergement spécifique. Pour en savoir plus, consultez Build à distance.

Important

Pour une sécurité accrue, envisagez d'utiliser un fournisseur de construction qui prend en charge les identités gérées, notamment Azure Pipelines et Gitub Actions. Le service App Service (Kudu) vous oblige à activer l’authentification de base et à utiliser des informations d’identification basées sur du texte.

Functions prend en charge ces fournisseurs de build :

Azure Pipelines est l'un des services d'Azure DevOps et le fournisseur de build par défaut pour les projets Azure Repos. Vous pouvez également utiliser Pipelines pour créer des projets à partir de GitHub. Dans Pipelines, il existe une tâche AzureFunctionApp spécialement conçue pour le déploiement sur Azure Functions. Cette tâche vous permet de contrôler la façon dont le projet est construit, empaqueté et déployé. Prise en charge des identités managées.

Gardez à l'esprit les points forts et les limites de ces fournisseurs lorsque vous activez l'intégration du contrôle de source. Il se peut que vous deviez modifier le type de source de votre référentiel pour bénéficier d’un fournisseur spécifique.

Configurer le déploiement continu

Le Portail Microsoft Azure fournit un centre de déploiement pour vos applications de fonction, ce qui facilite la configuration du déploiement continu. La manière spécifique dont vous configurez le déploiement continu dépend à la fois du type de référentiel de contrôle de source dans lequel réside votre code et du fournisseur de build que vous choisissez.

Dans le Portail Microsoft Azure, accédez à la page de votre application de fonction et sélectionnez Centre de déploiement sous Déploiement dans le volet de gauche.

Capture d'écran du centre de déploiement de l'application Function dans le Portail Microsoft Azure où vous choisissez votre référentiel source.

Sélectionnez le type de référentiel source dans lequel le code de votre projet est conservé parmi l'une de ces options prises en charge :

Les déploiements à partir d'Azure Repos qui utilisent Azure Pipelines sont définis dans le portail Azure DevOps et non à partir de votre application de fonction. Pour obtenir un guide étape par étape sur la création d'un déploiement basé sur Pipelines à partir d'Azure Repos, consultez Livraison continue avec Azure Pipelines.

Une fois le déploiement 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.

Activez le déploiement continu pendant la création de l’application

Vous pouvez à présent configurer le déploiement continu à partir de GitHub à l’aide de GitHub Actions à la création de votre application de fonction dans le Portail Azure. Vous pouvez le faire sous l’onglet Déploiement dans la page Créer une application de fonction.

Si vous souhaitez utiliser une autre source de déploiement ou un autre fournisseur de build pour l’intégration continue, créez au préalable votre application de fonction, puis revenez au portail et configurez l’intégration continue dans le Centre de déploiement.

Activer l’authentification de base pour le déploiement

Dans certains cas, votre application de fonction est créée avec un accès d’authentification désactivé vers le point de terminaison scm. Cela bloque la publication par toutes les méthodes ne pouvant pas utiliser des identités managées pour accéder au point de terminaison scm. Les répercussions de la publication du point de terminaison scm désactivée sont détaillées dans Déploiement sans authentification de base.

Important

Lorsque vous utilisez l’authentification de base, les informations d’identification sont envoyées en texte clair. Pour protéger ces informations d’identification, vous devez uniquement accéder au point de terminaison scm par une connexion chiffrée (HTTPS) lors de l’utilisation de l’authentification de base. Pour plus d’informations, voir Déploiement sécurisé.

Pour activer l’authentification de base sur le point de terminaison scm :

  1. Sur le portail Azure, accédez à votre application de fonction.

  2. Dans le menu de gauche de l'application, sélectionnez Paramètres>Configuration>Paramètres généraux.

  3. Définissez les Informations d’identification Essentielles de publication d’authentification SCM sur Activé, puis sélectionnez Enregistrer.

Étapes suivantes