AzureFunctionAppContainer@1 – Azure Functions för container v1-uppgift

Uppdatera en funktionsapp med en Docker-container.

Uppdatera funktionsappar med Docker-containrar.

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.

Indata

azureSubscription - Azure-prenumeration
string. Krävs.

Väljer Azure Resource Manager-prenumerationen för distributionen.


appName - Appnamn
string. Krävs.

Namnet på funktionsappen för containrar.


deployToSlotOrASE - Distribuera till fack eller App Service-miljön
boolean. Standardvärde: false.

Ställ in dessa indata på true för att distribuera till ett befintligt distributionsfack eller Azure App Service Environment. Aktiviteten behöver ett resursgruppsnamn för båda målen. För distributionsfack-alternativet distribueras standardinställningen till produktionsplatsen , eller så kan du ange ett annat befintligt facknamn. Om distributionsmålet är en Azure App Service Environment lämnar du platsnamnet som produktion och anger resursgruppens namn.


resourceGroupName - Resursgrupp
string. Krävs när deployToSlotOrASE = true.

Namnet på resursgruppen som innehåller funktionsappen för containrar.


slotName - Slot
string. Krävs när deployToSlotOrASE = true. Standardvärde: production.

Anger eller väljer ett befintligt fack, exklusive produktionsplatsen .


imageName - Avbildningsnamn
string. Krävs.

Ett globalt unikt domännamn på den översta nivån för ditt specifika register eller namnområde.

Observera: Ett fullständigt kvalificerat avbildningsnamn kommer att ha formatet: <registry or namespace> <repository> <tag>. Till exempel myregistry.azurecr.io/nginx:latest.


containerCommand - Startkommando
string.

Startkommandot som körs efter distributionen. Till exempel dotnet rundotnet filename.dll.


appSettings - Appinställningar
string.

Ange programinställningarna med hjälp av syntaxen -key value (till exempel:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Omge värden som innehåller blanksteg med dubbla citattecken (till exempel: "Eastern Standard Time").


configurationStrings - Konfigurationsinställningar
string.

Ange konfigurationssträngarna med hjälp av syntaxen -key value (till exempel: -phpVersion 5.6-linuxFxVersion: node|6.11). Omge värden som innehåller blanksteg med dubbla citattecken.


Alternativ för aktivitetskontroll

Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Den här aktiviteten definierar följande utdatavariabler, som du kan använda i underordnade steg, jobb och faser.

AppServiceApplicationUrl
Program-URL:en för den valda App Service.

Kommentarer

Använd den här uppgiften för att distribuera en Azure-funktion i Linux med hjälp av en anpassad avbildning.

Fel: Det gick inte att hämta åtkomsttoken för Azure. Kontrollera om tjänstens huvudnamn som används är giltigt och inte har upphört att gälla.

Uppgiften använder tjänstens huvudnamn i tjänstanslutningen för att autentisera med Azure. Om tjänstens huvudnamn har upphört att gälla eller inte har behörighet till App Service misslyckas uppgiften med det här felet. Kontrollera giltigheten för tjänstens huvudnamn som används och att det finns i appregistreringen. Mer information finns i Använda rollbaserad åtkomstkontroll för att hantera åtkomsten till dina Azure-prenumerationsresurser. Det här blogginlägget innehåller också mer information om hur du använder autentisering med tjänstens huvudnamn.

SSL-fel

Om du vill använda ett certifikat i App Service måste certifikatet signeras av en betrodd certifikatutfärdare. Om din webbapp visar fel i certifikatverifieringen, använder du förmodligen ett självsignerat certifikat. Ange en variabel med namnet VSTS_ARM_REST_IGNORE_SSL_ERRORS till värdet true i bygg- eller versionspipelinen för att lösa felet.

En version hänger sig en längre stund och misslyckas sedan

Det här problemet kan bero på otillräcklig kapacitet i din App Service plan. För att lösa det här problemet kan du skala upp App Service-instansen för att öka den tillgängliga processorn, RAM-minnet och diskutrymmet eller prova med en annan App Service plan.

5xx felkoder

Om du ser ett 5xx-felkontrollerar du statusen för din Azure-tjänst.

Azure-funktionen slutade plötsligt fungera

Azure Functions kan plötsligt sluta fungera om mer än ett år har gått sedan den senaste distributionen. Om du distribuerar med "RunFromPackage" i "deploymentMethod" genereras en SAS med ett förfallodatum på 1 år och anges som värdet "WEBSITE_RUN_FROM_PACKAGE" i programkonfigurationen. Azure Functions använder denna SAS för att referera till paketfilen för funktionskörning, så om SAS har upphört att gälla körs inte funktionen. Lös problemet genom att distribuera igen för att generera en SAS med ett förfallodatum på ett år.

Hur konfigurerar jag min tjänstanslutning?

Den här uppgiften kräver en Azure Resource Manager-tjänstanslutning.

Hur konfigurerar jag distribution av webbjobb med Application Insights?

När du distribuerar till en App Service måste du även aktivera Exclude files from the App_Data folderom du har konfigurerat Application Insights och har aktiverat Remove additional files at destination. Om du aktiverar det här alternativet hålls Application Insights-tillägget i ett säkert tillstånd. Det här steget krävs eftersom det kontinuerliga webbjobbet för Application Insights installeras i mappen App_Data.

Hur konfigurerar jag min agent om den finns bakom en proxy när jag distribuerar till App Service?

Om din lokala agent kräver en webbproxy kan du informera agenten om proxyn under konfigurationen. På så sätt kan din agent ansluta till Azure Pipelines eller Azure DevOps Server via proxyn. Läs mer om att köra en lokalt installerad agent bakom en webbproxy.

Exempel

Det här exemplet distribuerar Azure Functions i Linux med containrar:


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)

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.104.1 eller senare
Uppgiftskategori Distribuera