Partage via


AzureFunctionAppContainer@1 - Azure Functions pour la tâche conteneur v1

Mettez à jour une application de fonction avec un conteneur Docker.

Mettre à jour des applications de fonction avec des conteneurs Docker.

Syntax

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

Entrées

azureSubscription - Abonnement Azure
string. Obligatoire.

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


appName - Nom de l’application
string. Obligatoire.

Nom de l’application de fonction pour les conteneurs.


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

Définissez cette entrée sur true pour qu’elle soit déployée sur un emplacement de déploiement existant ou un environnement Azure App Service. La tâche a besoin d’un nom de groupe de ressources pour les deux cibles. Pour l’option d’emplacement de déploiement, la valeur par défaut est déployée sur l’emplacement de production , ou vous pouvez spécifier tout autre nom d’emplacement existant. Si la cible de déploiement est un environnement Azure App Service, laissez le nom de l’emplacement en production et spécifiez le nom du groupe de ressources.


resourceGroupName - Groupe de ressources
string. Nécessaire lorsque deployToSlotOrASE = true.

Nom du groupe de ressources qui contient l’application de fonction pour les conteneurs.


slotName - Fente
string. Nécessaire lorsque deployToSlotOrASE = true. Valeur par défaut : production.

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


imageName - Nom de l’image
string. Obligatoire.

Nom de domaine de premier niveau global unique pour votre registre ou espace de noms spécifique.

Note: Un nom d’image complet est au format : <registry or namespace> <repository> <tag>. Par exemple : myregistry.azurecr.io/nginx:latest.


containerCommand - Commande de démarrage
string.

Commande de démarrage qui s’exécute après le déploiement. Par exemple, dotnet rundotnet filename.dll..


appSettings - Paramètres de l’application
string.

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


configurationStrings - Paramètres de configuration
string.

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


Options de contrôle des tâches

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 dans les étapes, les travaux et les étapes en aval.

AppServiceApplicationUrl
URL d’application du App Service sélectionné.

Remarques

Utilisez cette tâche pour déployer une fonction Azure sur Linux à l’aide d’une image personnalisée.

Erreur : impossible de récupérer 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 le App Service, la tâche échoue avec cette erreur. Vérifiez la validité du principal de service utilisé et s’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 aux ressources de votre 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 permet de voir les 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 build ou de mise en production pour résoudre l’erreur.

Une mise en production se bloque pendant une période prolongée, puis échoue

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

Codes d’erreur 5xx

Si vous voyez une erreur 5xx, case activée le status de votre service Azure.

La fonction Azure a soudainement cessé de fonctionner

Azure Functions peut cesser de fonctionner soudainement si plus d’un an s’est écoulé depuis le dernier déploiement. Si vous déployez avec « RunFromPackage » dans « deploymentMethod », une sap dont la date d’expiration est de 1 an est générée et définie comme valeur « 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 dont la date d’expiration est d’un an.

Comment configurer ma connexion de service ?

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

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

Lorsque vous déployez sur un App Service, si Application Insights est 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 maintient l’extension Application Insights dans un état sécurisé. 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 du 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.

Exemples

Cet exemple déploie Azure Functions sur Linux à l’aide de conteneurs :


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.104.1 ou version ultérieure
Catégorie de la tâche Déployer