Delen via


AzureFunctionAppContainer@1 - Azure Functions voor container v1-taak

Een functie-app bijwerken met een Docker-container.

Functie-apps bijwerken met Docker-containers.

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.

Invoerwaarden

azureSubscription - Azure-abonnement
string. Vereist.

Selecteert het Azure Resource Manager-abonnement voor de implementatie.


appName - App-naam
string. Vereist.

De naam van de functie-app voor containers.


deployToSlotOrASE - Implementeren op site of App Service Environment
boolean. Standaardwaarde: false.

Stel deze invoer in op true om te implementeren naar een bestaande implementatiesite of Azure App Service-omgeving. De taak heeft een resourcegroepnaam nodig voor beide doelen. Voor de implementatiesiteoptie wordt de standaard geïmplementeerd in de productiesite , of u kunt een andere bestaande sitenaam opgeven. 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 die de functie-app voor containers bevat.


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

Hiermee voert u een bestaande site in of selecteert u deze, met uitzondering van de productiesite .


imageName - Naam van installatiekopieën
string. Vereist.

Een wereldwijd unieke domeinnaam op het hoogste niveau voor uw specifieke register of naamruimte.

Opmerking: Een volledig gekwalificeerde installatiekopieënnaam heeft de volgende indeling: <registry or namespace> <repository> <tag>. Bijvoorbeeld myregistry.azurecr.io/nginx:latest.


containerCommand - Opstartopdracht
string.

De opstartopdracht die wordt uitgevoerd na de implementatie. Bijvoorbeeld: dotnet rundotnet filename.dll.


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.


Opties voor taakbeheer

Alle taken hebben naast de taakinvoer besturingsopties. 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 deze taak om een Azure-functie in Linux te implementeren met behulp van een aangepaste installatiekopieën.

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.

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, moet u ook inschakelen Exclude files from the App_Data folderals u Application Insights hebt geconfigureerd en u hebt ingeschakeldRemove additional files at destination. 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 naar 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.

Voorbeelden

In dit voorbeeld worden Azure Functions in Linux geïmplementeerd met behulp van containers:


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)

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