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 run
dotnet 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 destination
måste du även aktivera Exclude files from the App_Data folder
nä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 |