AzureFunctionApp@1 - Azure Functions v1-taak
Een functie-app bijwerken met .NET, Python, JavaScript, PowerShell, Op Java gebaseerde webtoepassingen.
Implementeer een Azure-functie voor Linux of Windows.
Syntaxis
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions 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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions 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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions 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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
inputs:
azureSubscription: # string. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
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.
package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack.
#startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command.
# Application and Configuration Settings
#customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps.
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
Ingangen
azureSubscription
-
Azure Resource Manager-verbinding
string
. Vereist.
Selecteert het Azure Resource Manager-abonnement voor de implementatie.
appType
-
app-type
string
. Vereist. Toegestane waarden: functionApp
(functie-app in Windows), functionAppLinux
(functie-app op Linux).
appName
-
azure Functions-app-naam
string
. Vereist.
Hiermee voert u de naam van een bestaande Azure Functions-app in of selecteert u deze. De weergegeven functie-apps zijn gebaseerd op het geselecteerde app-type.
appName
-
app-naam
string
. Vereist.
Hiermee voert u de naam van een bestaande Azure Functions-app in of selecteert u deze. De weergegeven functie-apps zijn gebaseerd op het geselecteerde app-type.
deployToSlotOrASE
-
implementeren in site- of App Service Environment-
boolean
. Standaardwaarde: false
.
Wordt geïmplementeerd in een bestaande implementatiesite of Azure App Service Environment. Voor beide doelen heeft de taak een resourcegroepnaam nodig.
Als het implementatiedoel een site is, wordt deze standaard ingesteld op de productiesite site. Elke andere bestaande sitenaam kan ook worden opgegeven.
Als het implementatiedoel een Azure App Service Environment is, laat u de sitenaam staan als productie- en geeft u de naam van de resourcegroep op.
resourceGroupName
-
resourcegroep
string
. Vereist wanneer deployToSlotOrASE = true
.
De naam van de resourcegroep is vereist wanneer het implementatiedoel een implementatiesite of een App Service-omgeving is.
Hiermee voert u de Azure-resourcegroep in of selecteert die de Azure App Service bevat die hierboven is opgegeven.
slotName
-
Slot
string
. Vereist wanneer deployToSlotOrASE = true
. Standaardwaarde: production
.
Hiermee voert u een bestaande site in of selecteert u deze, met uitzondering van de productiesite.
package
-
pakket of map
string
. Vereist. Standaardwaarde: $(System.DefaultWorkingDirectory)/**/*.zip
.
Het bestandspad naar het pakket of de map die App Service-inhoud bevat die is gegenereerd door MSBuild, een gecomprimeerd zip-bestand of een war-bestand. Variabelen (Build | Release) en jokertekens worden ondersteund. Bijvoorbeeld $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war
.
runtimeStack
-
Runtime-stack
string
. Facultatief. Gebruiken wanneer appType = functionAppLinux
. Toegestane waarden: DOTNET|6.0
, DOTNET-ISOLATED|6.0
, DOTNET-ISOLATED|7.0
, DOTNET-ISOLATED|8.0
, JAVA|8
, JAVA|11
, JAVA|17
, JAVA|21
, NODE|14
, NODE|16
, NODE|18
, NODE|20
, PYTHON|3.8
, PYTHON|3.9
, PYTHON|3.10
, PYTHON|3.11
.
Geef het framework en de versie op waarop uw functie-app wordt uitgevoerd. U kunt een van de ondersteunde runtimeversiesgebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-*
zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taakassistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies kunt u dit opgeven, zelfs als dit niet in de lijst staat.
runtimeStack
-
Runtime-stack
string
. Facultatief. Gebruiken wanneer appType = functionAppLinux
. Toegestane waarden: DOTNET|2.2
(DOTNET|2.2 (functionapp v2)), DOTNET|3.1
(DOTNET|3.1 (functionapp v3)), DOTNET|6.0
(DOTNET|6.0 (functionapp v4)), JAVA|8
(JAVA|8 (functionapp v2/v3/v4)), JAVA|11
(JAVA|11 (functionapp)) v3/v4)), NODE|8
(NODE|8 (functionapp v2)), NODE|10
(NODE|10 (functionapp v2/v3)), NODE|12
(NODE|12 (functionapp v3)), NODE|14
(NODE|14 (functionapp v3/v4)), NODE|16
(NODE|16 (functionapp v4)), PYTHON|3.6
(PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7
(PYTHON|3.7 (functionapp v2/v3/v4)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9
(PYTHON|3.9 (functionapp v3/v4)).
Geef het framework en de versie op waarop uw functie-app wordt uitgevoerd. U kunt een van de ondersteunde runtimeversiesgebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-*
zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taakassistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies kunt u dit opgeven, zelfs als dit niet in de lijst staat.
runtimeStack
-
Runtime-stack
string
. Facultatief. Gebruiken wanneer appType = functionAppLinux
. Toegestane waarden: DOTNET|2.2
(DOTNET|2.2 (functionapp v2)), DOTNET|3.1
(DOTNET|3.1 (functionapp v3)), JAVA|8
(JAVA|8 (functionapp v2/v3)), JAVA|11
(JAVA|11 (functionapp v3)), NODE|8
(NODE|8 (functionapp v2)), NODE|10
(NODE|10 (functionapp v2/v3)), NODE|12
(NODE|12 (functionapp v3)), NODE|14
(NODE|14 (functionapp v3)), PYTHON|3.6
(PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7
(PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3)).
Geef het framework en de versie op waarop uw functie-app wordt uitgevoerd. U kunt een van de ondersteunde runtimeversiesgebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-*
zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taakassistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies kunt u dit opgeven, zelfs als dit niet in de lijst staat.
runtimeStack
-
Runtime-stack
string
. Facultatief. Gebruiken wanneer appType = functionAppLinux
. Toegestane waarden: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Geef het framework en de versie op waarop uw functie-app wordt uitgevoerd. U kunt een van de ondersteunde runtimeversiesgebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-*
zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taakassistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies kunt u dit opgeven, zelfs als dit niet in de lijst staat.
startUpCommand
-
opdracht Opstarten
string
. Facultatief. Gebruiken wanneer appType = functionAppLinux
.
Hiermee voert u de opstartopdracht in. Bijvoorbeeld:
dotnet run
dotnet filename.dll
customWebConfig
-
parameters genereren web.config voor Python-, Node.js-, Go- en Java-apps
string
. Facultatief. Gebruiken wanneer appType != functionAppLinux && package NotEndsWith .war
.
Er wordt een standaard Web.config gegenereerd en geïmplementeerd in Azure App Service als de toepassing er geen heeft. De waarden in web.config variëren op basis van het toepassingsframework en kunnen worden bewerkt. Voor de node.js-toepassing heeft web.config bijvoorbeeld een opstartbestand en iis_node modulewaarden. Deze bewerkingsfunctie is alleen bedoeld voor de gegenereerde web.config.
appSettings
-
app-instellingen
string
.
Voer de toepassingsinstellingen in met behulp van de syntaxis -key value
(bijvoorbeeld: -Port 5000
-RequestTimeout 5000
-WEBSITE_TIME_ZONE
). Plaats waarden tussen spaties tussen dubbele aanhalingstekens (bijvoorbeeld: "Eastern Standard Time"
).
Zie Omgevingsvariabelen en app-instellingen in Azure App Servicevoor meer informatie over app-instellingen.
configurationStrings
-
Configuratie-instellingen
string
.
Voer de configuratietekenreeksen in met behulp van de syntaxis -key value
(bijvoorbeeld: -phpVersion 5.6
-linuxFxVersion: node|6.11
). Plaats waarden tussen spaties tussen dubbele aanhalingstekens.
deploymentMethod
-
implementatiemethode
string
. Vereist wanneer appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Toegestane waarden: auto
(automatisch detecteren), zipDeploy
(Zip Deploy), runFromPackage
(Zip Deploy with Run From Package). Standaardwaarde: auto
.
Hiermee kiest u de -implementatiemethode voor de app.
deploymentMethod
-
implementatiemethode
string
. Vereist wanneer appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Toegestane waarden: auto
(automatisch detecteren), zipDeploy
(Zip Deploy), runFromPackage
(Uitvoeren vanuit pakket). Standaardwaarde: auto
.
Hiermee kiest u de -implementatiemethode voor de app.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Deze taak definieert de volgende uitvoervariabelen, die u kunt gebruiken in downstreamstappen, taken en fasen.
AppServiceApplicationUrl
de toepassings-URL van de geselecteerde App Service.
Opmerkingen
Gebruik de Azure Function App-taak om functies te implementeren in Azure.
Implementatiemethoden
Er zijn verschillende implementatiemethoden beschikbaar in deze taak. De standaardwaarde is auto
.
Als u de implementatieoptie op basis van pakketten in een ontwerptaak wilt wijzigen, vouwt u extra implementatieopties uit en schakelt u Implementatiemethode selecterenin.
Op basis van het type Azure App Service- en Azure Pipelines-agent gebruikt de taak een geschikte implementatietechnologie. De implementatietechnologieën die door taken worden gebruikt, zijn als volgt:
De taak probeert standaard de juiste implementatietechnologie te selecteren op basis van het invoerpakket, het App Service-type en het agent-besturingssysteem.
- Als er een script na de implementatie is opgegeven, gebruikt u Zip Deploy.
- Als het App Service-type web-app op Linux is, gebruikt u Zip Deploy.
- Als er een WAR-bestand is opgegeven, gebruikt u War Deploy.
- Als er een .jar bestand is opgegeven, gebruikt u Run-From-Zip.
- Voor alle andere taken gebruikt u Uitvoeren vanuit pakket (via Zip Deploy).
Voor een niet-Windows-agent (voor elk App Service-type) is de taak afhankelijk van de Kudu REST API om de web-app te implementeren.
Kudu REST API
De Kudu REST API werkt op windows- en Linux-automatiseringsagents wanneer het doel een web-app in Windows, een web-app op Linux (ingebouwde bron) of een functie-app is. De taak maakt gebruik van Kudu om bestanden te kopiëren naar Azure App Service.
Zip Deploy
Zip Deploy maakt een .zip implementatiepakket op basis van het gekozen pakket of de gekozen map. Vervolgens wordt de bestandsinhoud geïmplementeerd in de wwwroot-map van de App Service-naamfunctie-app in Azure. Met deze optie worden alle bestaande inhoud in de map wwwroot overschreven. Zie Zip-implementatie voor Azure Functionsvoor meer informatie.
Uitvoeren vanuit pakket
Uitvoeren vanuit pakket maakt hetzelfde implementatiepakket als Zip Deploy. In plaats van bestanden te implementeren in de wwwroot-map, koppelt de Functions-runtime het hele pakket. Wanneer u deze optie gebruikt, worden bestanden in de map wwwroot alleen-lezen. Zie Uw Azure Functions uitvoeren vanuit een pakketbestandvoor meer informatie.
Probleemoplossing
Fout: kan het toegangstoken voor Azure niet ophalen. Controleer of de gebruikte service-principal geldig is en niet is verlopen.
De taak gebruikt de service-principal in de serviceverbinding om te verifiëren met Azure. Als de service-principal is verlopen of geen machtigingen heeft voor de App Service, mislukt de taak met deze fout. Controleer de geldigheid van de gebruikte service-principal en of deze aanwezig is in de app-registratie. Zie Op rollen gebaseerd toegangsbeheer gebruiken voor het beheren van de toegang tot uw Azure-abonnementsresourcesvoor meer informatie. Dit blogbericht bevat ook meer informatie over het gebruik van service-principalverificatie.
SSL-fout
Als u een certificaat in App Service wilt gebruiken, moet het certificaat worden ondertekend door een vertrouwde certificeringsinstantie. Als uw web-app u certificaatvalidatiefouten geeft, gebruikt u waarschijnlijk een zelfondertekend certificaat. Stel een variabele met de naam VSTS_ARM_REST_IGNORE_SSL_ERRORS
in op de waarde true
in de build- of release-pijplijn om de fout op te lossen.
Een release loopt lang vast en mislukt
Dit probleem kan het gevolg zijn van onvoldoende capaciteit in uw App Service-plan. U kunt dit probleem oplossen door het App Service-exemplaar omhoog te schalen om de beschikbare CPU, RAM en schijfruimte te vergroten of een ander App Service-plan te gebruiken.
5xx foutcodes
Als u een fout van 5xx ziet, de status van uw Azure-service controleren.
Azure Function werkt plotseling niet meer
Azure Functions werkt mogelijk plotseling niet meer als er meer dan één jaar is verstreken sinds de laatste implementatie. Als u implementeert met 'RunFromPackage' in 'deploymentMethod', wordt een SAS met een vervaldatum van 1 jaar gegenereerd en ingesteld als de waarde 'WEBSITE_RUN_FROM_PACKAGE' in de toepassingsconfiguratie. Azure Functions gebruikt deze SAS om te verwijzen naar het pakketbestand voor de uitvoering van de functie. Als de SAS is verlopen, wordt de functie dus niet uitgevoerd. U kunt dit probleem oplossen door opnieuw te implementeren om een SAS te genereren met een vervaldatum van één jaar.
Fout: Er is geen pakket gevonden met het opgegeven patroon
Controleer of het pakket dat in de taak wordt vermeld, is gepubliceerd als een artefact in de build of een vorige fase en is gedownload in de huidige taak.
Fout: Publiceren met de optie zip deploy wordt niet ondersteund voor het pakkettype msBuild
Webpakketten die zijn gemaakt via de MSBuild-taak (met standaardargumenten) hebben een geneste mapstructuur die alleen correct kan worden geïmplementeerd door Web Deploy. De implementatieoptie publiceren naar zip kan niet worden gebruikt om deze pakketten te implementeren. Voer de volgende stappen uit om de verpakkingsstructuur te converteren:
Wijzig in de taak Oplossing bouwen de MSBuild-argumenten in
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:Voeg een archieftaak toe en wijzig de waarden als volgt:
Wijzig hoofdmap of bestand om te archiveren in
$(System.DefaultWorkingDirectory)\\WebAppContent
.Schakel het selectievakje naam van de hoofdmap vooraf opgeven om paden te archiveren in:
Implementatie van functie-apps in Windows slaagt, maar de app werkt niet
Dit probleem kan optreden als een web.config bestand niet aanwezig is in uw app. U kunt een web.config bestand toevoegen aan uw bron of automatisch een bestand genereren met behulp van de toepassings- en configuratie-instellingen van de taak.
Selecteer de taak en ga naar Parameters genereren web.config voor Python, Node.js, Go- en Java-apps:
Selecteer de knop Meer (...) onder Parameters web.config genereren voor Python, Node.js, Go- en Java-apps om de parameters te bewerken:
Selecteer uw toepassingstype in de Application Framework lijst.
Selecteer OK-. Als u dit doet, worden de web.config parameters ingevuld die nodig zijn om het web.config-bestand te genereren.
Veelgestelde vragen
Hoe moet ik mijn serviceverbinding configureren?
Voor deze taak is een Azure Resource Manager-serviceverbindingvereist.
Hoe moet ik de implementatie van webtaken configureren met Application Insights?
Wanneer u implementeert in een App Service, moet u ook Exclude files from the App_Data folder
inschakelen als u Application Insights hebt geconfigureerd en u Remove additional files at destination
hebt ingeschakeld. Als u deze optie inschakelt, blijft de Application Insights-extensie veilig. Deze stap is vereist omdat de continue webtaak van Application Insights is geïnstalleerd in de map App_Data.
Hoe moet ik mijn agent configureren als deze zich achter een proxy bevindt terwijl ik implementeer in App Service?
Als uw zelf-hostende agent een webproxy vereist, kunt u de agent informeren over de proxy tijdens de configuratie. Hierdoor kan uw agent via de proxy verbinding maken met Azure Pipelines of Azure DevOps Server. Meer informatie over het uitvoeren van een zelf-hostende agent achter een webproxy.
Ik kan niet implementeren in een interne App Service-omgeving met behulp van een Azure Resource Manager-serviceverbinding en een door Microsoft gehoste agent
Een door Microsoft gehoste agent werkt standaard niet met een App Service Environment. In plaats daarvan moet u een privéagent configureren op een virtuele machine die zich in hetzelfde virtuele netwerk bevindt als de App Service Environment. Stel ook een privé-DNS-zone in om communicatie tussen de resources mogelijk te maken.
Voorbeelden
Hier volgt een voorbeeld van een YAML-fragment waarmee Azure-functies in Windows worden geïmplementeerd:
variables:
azureSubscription: Contoso
# To ignore SSL error, uncomment the below variable
# VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
steps:
- task: AzureFunctionApp@1
displayName: Azure Function App Deploy
inputs:
azureSubscription: $(azureSubscription)
appName: samplefunctionapp
appType: functionApp
package: $(System.DefaultWorkingDirectory)/**/*.zip
Als u een functie in Linux wilt implementeren, voegt u de parameter appType
toe en stelt u deze in op appType: functionAppLinux
. Als u geen waarde opgeeft, is functionApp
de standaardwaarde.
Als u de implementatiemethode expliciet wilt opgeven als Zip Deploy, voegt u de parameter toe deploymentMethod: zipDeploy
. Een andere ondersteunde waarde voor deze parameter is runFromPackage
.
Als u geen waarde opgeeft, is auto
de standaardwaarde.
Zie Java bouwen en implementeren in Azure Functionsvoor een overzicht van hoe u een CI/CD-pijplijn maakt.
Eisen
Eis | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Geen |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Enig |
variabelen instellen | Enig |
Agentversie | 2.104.1 of hoger |
Taakcategorie | Implementeren |