Partager via


AzureFunctionApp@1 - Tâche Azure Functions v1

Mettez à jour une application de fonction avec .NET, Python, JavaScript, PowerShell, applications web basées sur Java.

Déployez une fonction Azure pour Linux ou Windows.

Syntaxe

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

Entrées

azureSubscription - de connexion Azure Resource Manager
string. Obligatoire.

Sélectionne l’abonnement Azure Resource Manager pour le déploiement.


appType - type d’application
string. Obligatoire. Valeurs autorisées : functionApp (Application de fonction sur Windows), functionAppLinux (Application de fonction sur Linux).


appName - nom de l’application Azure Functions
string. Obligatoire.

Entre ou sélectionne le nom d’une application Azure Functions existante. Les applications de fonction répertoriées sont basées sur le type d’application sélectionné.


nom de l’application appName -
string. Obligatoire.

Entre ou sélectionne le nom d’une application Azure Functions existante. Les applications de fonction répertoriées sont basées sur le type d’application sélectionné.


deployToSlotOrASE - déployer sur un emplacement ou un environnement App Service
boolean. Valeur par défaut : false.

Déploie sur un emplacement de déploiement existant ou Dans Azure App Service Environment. Pour les deux cibles, la tâche a besoin d’un nom de groupe de ressources.

Si la cible de déploiement est un emplacement, elle est par défaut l’emplacement de production . Tout autre nom d’emplacement existant peut également être fourni.

Si la cible de déploiement est un environnement Azure App Service, laissez le nom de l’emplacement comme de production et spécifiez le nom du groupe de ressources.


resourceGroupName - groupe de ressources
string. Obligatoire lorsque deployToSlotOrASE = true.

Le nom du groupe de ressources est requis lorsque la cible de déploiement est un emplacement de déploiement ou un environnement App Service.

Entre ou sélectionne le groupe de ressources Azure qui contient azure App Service spécifié ci-dessus.


slotName - emplacement
string. Obligatoire lorsque deployToSlotOrASE = true. Valeur par défaut : production.

Entre ou sélectionne un emplacement existant, à l’exclusion de l’emplacement de production.


package - package ou dossier
string. Obligatoire. Valeur par défaut : $(System.DefaultWorkingDirectory)/**/*.zip.

Chemin d’accès au package ou au dossier qui contient le contenu App Service généré par MSBuild, un fichier zip compressé ou un fichier war. Les variables (Build | Release) et les caractères génériques sont pris en charge. Par exemple, $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - pile Runtime
string. Optionnel. Utilisez quand appType = functionAppLinux. Valeurs autorisées : DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, DOTNET-ISOLATED|8.0, JAVA|8, JAVA|11, JAVA|17, JAVA|21, NODE|14, NODE|16, NODE|18, NODE|20, PYTHON|3.8, PYTHON|3.9, PYTHON|3.10, PYTHON|3.11.

Spécifiez l’infrastructure et la version sur laquelle votre application de fonction s’exécute. Vous pouvez utiliser l’une des versions d’exécution prises en charge . Les anciennes valeurs comme DOCKER|microsoft/azure-functions-* sont déconseillées. De nouvelles valeurs sont répertoriées dans la liste déroulante de l’Assistant tâche . S’il existe une version plus récente d’une infrastructure disponible dans le versions d’exécution prises en charge vous pouvez la spécifier même si elle n’est pas dans la liste.


runtimeStack - pile Runtime
string. Optionnel. Utilisez quand appType = functionAppLinux. Valeurs autorisées : DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), DOTNET|6.0 (DOTNET|6.0 (functionapp v4)), JAVA|8 (JAVA|8 (functionapp v2/v3/v4)), JAVA|11 (JAVA|11 (functionapp v2/v3/v4)), JAVA|11 (JAVA|11 (functionapp v4)) v3/v4)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3/v4)), NODE|16 (NODE|16 (functionapp v4)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3/v4)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)).

Spécifiez l’infrastructure et la version sur laquelle votre application de fonction s’exécute. Vous pouvez utiliser l’une des versions d’exécution prises en charge . Les anciennes valeurs comme DOCKER|microsoft/azure-functions-* sont déconseillées. De nouvelles valeurs sont répertoriées dans la liste déroulante de l’Assistant tâche . S’il existe une version plus récente d’une infrastructure disponible dans le versions d’exécution prises en charge vous pouvez la spécifier même si elle n’est pas dans la liste.


runtimeStack - pile Runtime
string. Optionnel. Utilisez quand appType = functionAppLinux. Valeurs autorisées : DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

Spécifiez l’infrastructure et la version sur laquelle votre application de fonction s’exécute. Vous pouvez utiliser l’une des versions d’exécution prises en charge . Les anciennes valeurs comme DOCKER|microsoft/azure-functions-* sont déconseillées. De nouvelles valeurs sont répertoriées dans la liste déroulante de l’Assistant tâche . S’il existe une version plus récente d’une infrastructure disponible dans le versions d’exécution prises en charge vous pouvez la spécifier même si elle n’est pas dans la liste.


runtimeStack - pile Runtime
string. Optionnel. Utilisez quand appType = functionAppLinux. Valeurs autorisées : DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Spécifiez l’infrastructure et la version sur laquelle votre application de fonction s’exécute. Vous pouvez utiliser l’une des versions d’exécution prises en charge . Les anciennes valeurs comme DOCKER|microsoft/azure-functions-* sont déconseillées. De nouvelles valeurs sont répertoriées dans la liste déroulante de l’Assistant tâche . S’il existe une version plus récente d’une infrastructure disponible dans le versions d’exécution prises en charge vous pouvez la spécifier même si elle n’est pas dans la liste.


startUpCommand - commande de démarrage
string. Optionnel. Utilisez quand appType = functionAppLinux.

Entre la commande de démarrage. Par exemple:

dotnet run
dotnet filename.dll


customWebConfig - Générer des paramètres de web.config pour Python, Node.js, Go et les applications Java
string. Optionnel. Utilisez quand appType != functionAppLinux && package NotEndsWith .war.

Une Web.config standard sera générée et déployée sur Azure App Service si l’application n’en a pas. Les valeurs de web.config varient en fonction de l’infrastructure d’application et peuvent être modifiées. Par exemple, pour l’application node.js, web.config a un fichier de démarrage et des valeurs de module iis_node. Cette fonctionnalité d’édition concerne uniquement les générées web.config.


paramètres d’application appSettings -
string.

Entrez les paramètres de l’application à l’aide de la syntaxe -key value (par exemple : -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). Placez les valeurs qui contiennent des espaces entre guillemets doubles (par exemple : "Eastern Standard Time").

Pour plus d’informations sur les paramètres d’application, consultez Variables d’environnement et paramètres d’application dans Azure App Service.


paramètres de configuration configurationStrings -
string.

Entrez les chaînes de configuration à l’aide de la syntaxe -key value (par exemple : -phpVersion 5.6-linuxFxVersion: node|6.11). Placez les valeurs qui contiennent des espaces entre guillemets doubles.


deploymentMethod - méthode Deployment
string. Obligatoire lorsque appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valeurs autorisées : auto (détection automatique), zipDeploy (Zip Deploy), runFromPackage (Zip Deploy avec Run From Package). Valeur par défaut : auto.

Choisit la méthode de déploiement pour l’application.


deploymentMethod - méthode Deployment
string. Obligatoire lorsque appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Valeurs autorisées : auto (détection automatique), zipDeploy (Zip Deploy), runFromPackage (Exécuter à partir du package). Valeur par défaut : auto.

Choisit la méthode de déploiement pour l’application.


Options de contrôle de tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Cette tâche définit les variables de sortie suivantes, que vous pouvez utiliser en aval, les travaux et les étapes.

AppServiceApplicationUrl
l’URL de l’application de l’App Service sélectionné.

Remarques

Utilisez la tâche d’application de fonction Azure pour déployer des fonctions sur Azure.

Méthodes de déploiement

Plusieurs méthodes de déploiement sont disponibles dans cette tâche. La valeur par défaut est auto.

Pour modifier l’option de déploiement basée sur un package dans une tâche de concepteur, développez options de déploiement supplémentaires et activez Sélectionner la méthode de déploiement.

En fonction du type d’agent Azure App Service et Azure Pipelines, la tâche utilise une technologie de déploiement appropriée. Les technologies de déploiement utilisées par les tâches sont les suivantes :

Par défaut, la tâche tente de sélectionner la technologie de déploiement appropriée en fonction du package d’entrée, du type App Service et du système d’exploitation de l’agent.

  • Si un script post-déploiement est fourni, utilisez Zip Deploy.
  • Si le type App Service est Web App sur Linux, utilisez Zip Deploy.
  • Si un fichier .war est fourni, utilisez War Deploy.
  • Si un fichier .jar est fourni, utilisez Run-From-Zip.
  • Pour toutes les autres tâches, utilisez Run From Package (via Zip Deploy).

Sur un agent non-Windows (pour n’importe quel type App Service), la tâche s’appuie sur la l’API REST Kudu pour déployer l’application web.

Kudu REST API

L’API REST Kudu fonctionne sur les agents d’automatisation Windows et Linux lorsque la cible est une application web sur Windows, une application web sur Linux (source intégrée) ou une application de fonction. La tâche utilise Kudu pour copier des fichiers dans Azure App Service.

Zip Deploy

Zip Deploy crée un package de déploiement .zip à partir du package ou dossier choisi. Il déploie ensuite le contenu du fichier dans le dossier wwwroot de l’application de fonction de nom App Service dans Azure. Cette option remplace tout le contenu existant dans le dossier wwwroot. Pour plus d’informations, consultez déploiement Zip pour Azure Functions.

Exécuter à partir du package

Exécuter à partir du package crée le même package de déploiement que Zip Deploy. Au lieu de déployer des fichiers dans le dossier wwwroot, le runtime Functions monte l’intégralité du package. Lorsque vous utilisez cette option, les fichiers du dossier wwwroot deviennent en lecture seule. Pour plus d’informations, consultez Exécuter vos fonctions Azure à partir d’un fichier de package.

Dépannage

Erreur : Impossible d’extraire le jeton d’accès pour Azure. Vérifiez si le principal de service utilisé est valide et n’a pas expiré.

La tâche utilise le principal de service dans la connexion de service pour s’authentifier auprès d’Azure. Si le principal de service a expiré ou n’a pas d’autorisations sur App Service, la tâche échoue avec cette erreur. Vérifiez la validité du principal de service utilisé et qu’il est présent dans l’inscription de l’application. Pour plus d’informations, consultez Utiliser le contrôle d’accès en fonction du rôle pour gérer l’accès à vos ressources d’abonnement Azure. Ce billet de blog contient également plus d’informations sur l’utilisation de l’authentification du principal de service.

Erreur SSL

Si vous souhaitez utiliser un certificat dans App Service, le certificat doit être signé par une autorité de certification approuvée. Si votre application web vous fournit des erreurs de validation de certificat, vous utilisez probablement un certificat auto-signé. Définissez une variable nommée VSTS_ARM_REST_IGNORE_SSL_ERRORS sur la valeur true dans le pipeline de génération ou de mise en production pour résoudre l’erreur.

Une mise en production se bloque pendant longtemps, puis échoue

Ce problème peut être le résultat d’une capacité insuffisante dans votre plan App Service. Pour résoudre ce problème, vous pouvez effectuer un scale-up de l’instance App Service pour augmenter l’espace processeur, ram et disque disponible ou essayer avec un autre plan App Service.

5 codes d’erreurxx

Si vous voyez une erreur 5xx, vérifiez l’état de votre service Azure.

Azure Function a soudainement cessé de fonctionner

Azure Functions peut soudainement cesser de fonctionner si plusieurs années sont passées depuis le dernier déploiement. Si vous déployez avec « RunFromPackage » dans « deploymentMethod », une SAP avec une date d’expiration de 1 an est générée et définie comme valeur de « WEBSITE_RUN_FROM_PACKAGE » dans la configuration de l’application. Azure Functions utilise cette SAP pour référencer le fichier de package pour l’exécution de la fonction. Par conséquent, si la SAP a expiré, la fonction ne sera pas exécutée. Pour résoudre ce problème, déployez à nouveau pour générer une SAP avec une date d’expiration d’un an.

Erreur : Aucun package trouvé avec le modèle spécifié

Vérifiez si le package mentionné dans la tâche est publié en tant qu’artefact dans la build ou une étape précédente et téléchargé dans le travail actuel.

Erreur : La publication à l’aide de l’option zip deploy n’est pas prise en charge pour le type de package msBuild

Les packages web créés via la tâche MSBuild (avec des arguments par défaut) ont une structure de dossiers imbriquée qui peut être déployée correctement uniquement par Web Deploy. L’option de déploiement publish-to-zip ne peut pas être utilisée pour déployer ces packages. Pour convertir la structure d’empaquetage, procédez comme suit :

  1. Dans la tâche générer la solution, remplacez les des arguments MSBuild par :

    Capture d’écran montrant les valeurs de la solution Générer.

  2. Ajoutez une tâche Archive et modifiez les valeurs comme suit :

    1. Modifiez dossier racine ou fichier pour archiver en $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Désactivez le nom du dossier racine prépend pour archiver les chemins d’accès case à cocher :

      Capture d’écran montrant les valeurs Archive.

Le déploiement de l’application de fonction sur Windows réussit, mais l’application ne fonctionne pas

Ce problème peut se produire si un fichier web.config n’est pas présent dans votre application. Vous pouvez ajouter un fichier web.config à votre source ou en générer automatiquement un à l’aide des paramètres d’application et de configuration de la tâche.

  1. Sélectionnez la tâche et accédez à Générer des paramètres de web.config pour Python, Node.js, Go et les applications Java:

    Capture d’écran montrant la section Générer des paramètres web.config.

  2. Sélectionnez le bouton Plus (...) sous Générer des paramètres web.config pour Python, Node.js, Go et Les applications Java pour modifier les paramètres :

    Capture d’écran montrant les paramètres Générer web.config.

  3. Sélectionnez votre type d’application dans la liste des de l’infrastructure d’application .

  4. Sélectionnez OK. Cela remplit les paramètres web.config requis pour générer le fichier web.config.

Questions fréquentes (FAQ)

Comment configurer ma connexion de service ?

Cette tâche nécessite une connexion de service Azure Resource Manager .

Comment configurer le déploiement de travaux web avec Application Insights ?

Lorsque vous effectuez un déploiement sur app Service, si vous avez Application Insights configuré et que vous avez activé Remove additional files at destination, vous devez également activer Exclude files from the App_Data folder. L’activation de cette option conserve l’extension Application Insights dans un état sûr. Cette étape est requise, car la tâche web continue Application Insights est installée dans le dossier App_Data.

Comment configurer mon agent s’il se trouve derrière un proxy pendant le déploiement sur App Service ?

Si votre agent auto-hébergé nécessite un proxy web, vous pouvez informer l’agent sur le proxy pendant la configuration. Cela permet à votre agent de se connecter à Azure Pipelines ou à Azure DevOps Server via le proxy. En savoir plus sur l’exécution d’un agent auto-hébergé derrière un proxy web.

Je ne peux pas déployer sur un environnement App Service interne à l’aide d’une connexion de service Azure Resource Manager et d’un agent hébergé par Microsoft

Par conception, un agent hébergé par Microsoft ne fonctionnera pas avec un environnement App Service. Au lieu de cela, vous devez configurer un agent privé sur une machine virtuelle qui se trouve dans le même réseau virtuel que l’environnement App Service. Définissez également une zone DNS privée pour activer la communication entre les ressources.

Exemples

Voici un exemple d’extrait de code YAML qui déploie des fonctions Azure sur Windows :


variables:
  azureSubscription: Contoso
  # To ignore SSL error, uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionApp@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Pour déployer une fonction sur Linux, ajoutez le paramètre appType et définissez-le sur appType: functionAppLinux. Si vous ne spécifiez pas de valeur, functionApp est la valeur par défaut.

Pour spécifier explicitement la méthode de déploiement en tant que Zip Deploy, ajoutez le paramètre deploymentMethod: zipDeploy. Une autre valeur prise en charge pour ce paramètre est runFromPackage. Si vous ne spécifiez pas de valeur, auto est la valeur par défaut.

Pour obtenir une procédure pas à pas qui montre comment créer un pipeline CI/CD, consultez Générer et déployer Java sur Azure Functions.

Exigences

Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.104.1 ou version ultérieure
Catégorie de tâche Déployer