Dela via


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

Uppdatera en funktionsapp med en Docker-container.

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.

Ingångar

azureSubscription - Azure-prenumeration
string. Obligatoriskt.

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


appName - Appnamn
string. Obligatoriskt.

Namnet på funktionsappen för containrar.


deployToSlotOrASE - Distribuera till fack eller App Service Environment
boolean. Standardvärde: false.

Ange den här indatan till 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 distributionsfackalternativet distribueras standardvärdet till produktionsplatsen eller så kan du ange ett annat befintligt facknamn. Om distributionsmålet är en Azure App Service-miljö 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 - fack
string. Krävs när deployToSlotOrASE = true. Standardvärde: production.

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


imageName - Bildnamn
string. Obligatoriskt.

Ett globalt unikt toppnivådomännamn för ditt specifika register eller namnområde.

Obs! 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: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). Omslut 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). Omslut värden som innehåller blanksteg med dubbla citattecken.


Kontrollalternativ för aktivitet

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

Utdatavariabler

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

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

Anmärkningar

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 åtkomst till dina Azure-prenumerationsresurser. Det här blogginlägget innehåller även 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 webbappen ger dig certifikatverifieringsfel 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 låser sig under lång tid 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 tillgängligt processor-, RAM-minne- och diskutrymme eller prova med en annan App Service-plan.

5xx felkoder

Om du ser felet 5xx kontrollerar statusen för azure-tjänsten.

Azure-funktionen slutade plötsligt fungera

Azure Functions kan plötsligt sluta fungera om mer än ett år har passerat 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 ska jag konfigurera min tjänstanslutning?

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

Hur ska jag konfigurera distribution av webbjobb med Application Insights?

Om du har Application Insights konfigurerats och du har aktiverat Remove additional files at destinationmåste du även aktivera Exclude files from the App_Data foldernär du distribuerar till en App Service. 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 Application Insights kontinuerliga webbjobb är installerat i mappen App_Data.

Hur ska jag konfigurera 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
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 2.104.1 eller senare
Aktivitetskategori Gruppera