Partager via


AzureFunctionAppContainer@1 - Tâche Azure Functions pour conteneur v1

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

Syntaxe

# 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.

Entrées

azureSubscription - abonnement Azure
string. Obligatoire.

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


nom de l’application appName -
string. Obligatoire.

Nom de l’application de fonction pour conteneurs.


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

Définissez cette entrée sur true à déployer sur un emplacement de déploiement existant ou Dans Azure App Service Environment. 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 n’importe quel autre nom d’emplacement existant. 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.

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


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

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


imageName - nom de l’image
string. Obligatoire.

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

Remarque : Un nom d’image complet sera 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.


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").


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.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. 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 cette tâche pour déployer une fonction Azure sur Linux à l’aide d’une image personnalisée .

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 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 à 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.

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.

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)

Spécifications

Besoin Descriptif
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 N'importe quel
variables settables N'importe quel
Version de l’agent 2.104.1 ou version ultérieure
Catégorie de tâche Déployer