Delen via


AzureFunctionApp@1 - Azure Functions v1-taak

Een functie-app bijwerken met webtoepassingen op basis van .NET, Python, JavaScript, PowerShell en Java.

Implementeer een Azure-functie voor Linux of Windows.

Syntax

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

Invoerwaarden

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 op site of App Service Environment
boolean. Standaardwaarde: false.

Wordt geïmplementeerd in een bestaande implementatiesite of Azure App Service-omgeving. Voor beide doelen heeft de taak een resourcegroepnaam nodig.

Als het implementatiedoel een site is, wordt deze standaard ingesteld op de productiesite . Elke andere bestaande sitenaam kan ook worden opgegeven.

Als het implementatiedoel een Azure App Service-omgeving is, laat u de sitenaam op productie staan 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 Environment is.

Hiermee wordt de Azure-resourcegroep met de hierboven opgegeven Azure App Service ingevoerd of geselecteerd.


slotName - Sleuf
string. Vereist wanneer deployToSlotOrASE = true. Standaardwaarde: production.

Hiermee wordt een bestaande site ingevoerd of geselecteerd, 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 (buildrelease | ) en jokertekens worden ondersteund. Bijvoorbeeld $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - Runtimestack
string. Optioneel. Gebruik wanneer appType = functionAppLinux. Toegestane waarden: , , , DOTNET-ISOLATED|7.0, JAVA|11DOTNET-ISOLATED|8.0JAVA|8, JAVA|17, , JAVA|21, NODE|16NODE|14, NODE|18, NODE|20, PYTHON|3.8PYTHON|3.9, PYTHON|3.10, . PYTHON|3.11DOTNET-ISOLATED|6.0DOTNET|6.0

Geef het framework en de versie op waarop uw functie-app wordt uitgevoerd. U kunt elk van de ondersteunde runtimeversies gebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-* zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taak assistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies , kunt u deze opgeven, zelfs als deze niet in de lijst staat.


runtimeStack - Runtimestack
string. Optioneel. Gebruik 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)), (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 elk van de ondersteunde runtimeversies gebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-* zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taak assistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies , kunt u deze opgeven, zelfs als deze niet in de lijst staat.


runtimeStack - Runtimestack
string. Optioneel. Gebruik 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 elk van de ondersteunde runtimeversies gebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-* zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taak assistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies , kunt u deze opgeven, zelfs als deze niet in de lijst staat.


runtimeStack - Runtimestack
string. Optioneel. Gebruik 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 elk van de ondersteunde runtimeversies gebruiken. Oude waarden zoals DOCKER|microsoft/azure-functions-* zijn afgeschaft. Nieuwe waarden worden weergegeven in de vervolgkeuzelijst in de taak assistent. Als er een nieuwere versie van een framework beschikbaar is in de ondersteunde runtimeversies , kunt u deze opgeven, zelfs als deze niet in de lijst staat.


startUpCommand - Opstartopdracht
string. Optioneel. Gebruik wanneer appType = functionAppLinux.

Hiermee voert u de opstartopdracht in. Bijvoorbeeld:

dotnet run
dotnet filename.dll


customWebConfig - web.config parameters genereren voor Python-, Node.js-, Go- en Java-apps
string. Optioneel. Gebruik wanneer appType != functionAppLinux && package NotEndsWith .war.

Er wordt een standaard Web.config gegenereerd en geïmplementeerd op 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 hebt web.config bijvoorbeeld een opstartbestand en iis_node modulewaarden. Deze bewerkingsfunctie is alleen voor de gegenereerde web.config.


appSettings - App-instellingen
string.

Voer de toepassingsinstellingen in met behulp van de syntaxis -key value (bijvoorbeeld:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Plaats waarden die spaties tussen dubbele aanhalingstekens bevatten (bijvoorbeeld: "Eastern Standard Time").


configurationStrings - Configuratie-instellingen
string.

Voer de configuratiereeksen in met behulp van de syntaxis -key value (bijvoorbeeld: -phpVersion 5.6-linuxFxVersion: node|6.11). Plaats waarden die spaties tussen dubbele aanhalingstekens bevatten.


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 met 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 Besturingsopties en algemene taakeigenschappen voor 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-functie-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 selecteren in.

Op basis van het type Azure App Service en Azure Pipelines-agent maakt de taak gebruik van 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, App Service type en het besturingssysteem van de agent.

  • Als er een script na de implementatie is opgegeven, gebruikt u Zip Deploy.
  • Als het App Service type Web App on 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 van pakket (via Zip Deploy).

Op 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 zowel Windows- als Linux-automatiseringsagents wanneer het doel een web-app in Windows, een web-app op Linux (ingebouwde bron) of een functie-app is. De taak gebruikt Kudu om bestanden naar de Azure App Service te kopiëren.

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 map wwwroot van de functie-app App Service naam in Azure. Met deze optie overschrijft u alle bestaande inhoud in de map wwwroot. Zie Zip-implementatie voor Azure Functions voor meer informatie.

Uitvoeren uit pakket

Met Uitvoeren van pakket maakt u hetzelfde implementatiepakket als Zip Deploy. In plaats van bestanden te implementeren in de map wwwroot, koppelt de Functions-runtime het hele pakket. Wanneer u deze optie gebruikt, worden bestanden in de map wwwroot alleen-lezen. Zie voor meer informatie Uw Azure Functions uitvoeren vanuit een pakketbestand.

Problemen oplossen

Fout: kan 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 service-principal die wordt gebruikt en of deze aanwezig is in de appregistratie. Voor meer informatie raadpleegt u Op rollen gebaseerd toegangsbeheer gebruiken voor het beheer van de toegang tot de resources van uw Azure-abonnement. Dit blogbericht bevat ook meer informatie over het gebruik van verificatie van service-principals.

SSL-fout

Als u een certificaat in App Service wilt gebruiken, moet het certificaat zijn ondertekend door een vertrouwde certificeringsinstantie. Als uw web-app 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 blijft lange tijd hangen en mislukt vervolgens

Dit probleem kan het gevolg zijn van onvoldoende capaciteit in uw App Service-abonnement. U kunt dit probleem oplossen door het App Service-exemplaar omhoog te schalen om de beschikbare CPU, RAM en schijfruimte te vergroten of het te proberen met een ander App Service abonnement.

5xx-foutcodes

Als u een 5xx-fout ziet, controleert u de status van uw Azure-service.

Azure-functie werkt plotseling niet meer

Azure Functions kan plotseling stoppen met werken 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 van 'WEBSITE_RUN_FROM_PACKAGE' in de toepassingsconfiguratie. Azure Functions gebruikt deze SAS om te verwijzen naar het pakketbestand voor het uitvoeren van de functie, dus als de SAS is verlopen, wordt de functie 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 wordt vermeld in de taak, is gepubliceerd als een artefact in de build of een eerdere fase, en is gedownload in de huidige taak.

Fout: publiceren met behulp van zip-implementatieoptie wordt niet ondersteund voor msBuild-pakkettype

Webpakketten die zijn gemaakt via de taak MSBuild (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:

  1. 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":

    Schermopname van de waarden voor de build-oplossing.

  2. Voeg een archieftaak toe en wijzig de waarden als volgt:

    1. Wijzig de hoofdmap of het bestand om te archiveren in $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Schakel het selectievakje Naam van hoofdmap prepend om paden te archiveren uit:

      Schermopname van de archiefwaarden.

De implementatie van de functie-app in Windows slaagt, maar de app werkt niet

Dit probleem kan optreden als er geen web.config-bestand aanwezig is in uw app. U kunt een web.config-bestand toevoegen aan de bron of automatisch een bestand genereren met behulp van de toepassings- en configuratie-instellingen van de taak.

  1. Selecteer de taak en ga naar Parameters voor web.config genereren voor Python-, Node.js-, Go- en Java-apps:

    Schermopname van de sectie web.config parameters genereren.

  2. Selecteer de knop Meer (...) onder web.config parameters genereren voor Python-, Node.js-, Go- en Java-apps om de parameters te bewerken:

    Schermopname van de parameters web.config genereren.

  3. Selecteer uw toepassingstype in de lijst Toepassingsframework .

  4. 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-serviceverbinding vereist.

Hoe moet ik de implementatie van webtaken configureren met Application Insights?

Wanneer u implementeert in een App Service en u Application Insights hebt geconfigureerd en u hebt ingeschakeldRemove additional files at destination, moet u ook inschakelenExclude files from the App_Data folder. Als u deze optie inschakelt, blijft de Application Insights-extensie veilig. Deze stap is vereist omdat de continue WebJob 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 in App Service implementeer?

Als voor uw zelf-hostende agent een webproxy is vereist, kunt u de agent tijdens de configuratie informeren over de proxy. Hierdoor kan uw agent verbinding maken met Azure Pipelines of Azure DevOps Server via de proxy. Meer informatie over het uitvoeren van een zelf-hostende agent achter een webproxy.

Ik kan niet implementeren naar een interne App Service Environment met behulp van een Azure Resource Manager-serviceverbinding en een door Microsoft gehoste agent

Standaard werkt een door Microsoft gehoste agent 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 in te schakelen.

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 appType parameter toe en stelt u deze in op appType: functionAppLinux. Als u geen waarde opgeeft, functionApp is de standaardwaarde.

Als u de implementatiemethode expliciet wilt opgeven als Zip Deploy, voegt u de parameter deploymentMethod: zipDeploytoe. Een andere ondersteunde waarde voor deze parameter is runFromPackage. Als u geen waarde opgeeft, auto is de standaardwaarde.

Zie Build and deploy Java to Azure Functions (Java bouwen en implementeren in Azure Functions) voor een overzicht van het maken van een CI/CD-pijplijn.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.104.1 of hoger
Taakcategorie Implementeren