AzureFunctionApp@1 – Azure Functions v1-Aufgabe

Aktualisieren Sie eine Funktions-App mit .NET, Python, JavaScript, PowerShell und Java-basierten Webanwendungen.

Stellen Sie eine Azure-Funktion für Linux oder Windows bereit.

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.

Eingaben

azureSubscription - Azure Resource Manager-Verbindung
string. Erforderlich.

Wählt das Azure Resource Manager-Abonnement für die Bereitstellung aus.


appType - App-Typ
string. Erforderlich. Zulässige Werte: functionApp (Funktions-App unter Windows), functionAppLinux (Funktions-App unter Linux).


appName - Azure Functions App-Name
string. Erforderlich.

Gibt den Namen einer vorhandenen Azure Functions-App ein oder wählt diese aus. Die aufgeführten Funktions-Apps basieren auf dem ausgewählten App-Typ.


appName - App-Name
string. Erforderlich.

Gibt den Namen einer vorhandenen Azure Functions-App ein oder wählt diese aus. Die aufgeführten Funktions-Apps basieren auf dem ausgewählten App-Typ.


deployToSlotOrASE - Bereitstellen im Slot oder App Service-Umgebung
boolean. Standardwert. false.

Wird in einem vorhandenen Bereitstellungsslot oder Azure App Service Umgebung bereitgestellt. Für beide Ziele benötigt die Aufgabe einen Ressourcengruppennamen.

Wenn das Bereitstellungsziel ein Slot ist, wird standardmäßig der Produktionsslot verwendet. Es kann auch ein beliebiger anderer Slotname angegeben werden, der vorhanden ist.

Wenn das Bereitstellungsziel eine Azure App Service Umgebung ist, behalten Sie den Slotnamen als Produktion bei, und geben Sie den Namen der Ressourcengruppe an.


resourceGroupName - Ressourcengruppe
string. Erforderlich, wenn deployToSlotOrASE = true.

Der Ressourcengruppenname ist erforderlich, wenn das Bereitstellungsziel entweder ein Bereitstellungsslot oder ein App Service-Umgebung ist.

Gibt die Azure-Ressourcengruppe ein, die die oben angegebene Azure App Service enthält, oder wählt sie aus.


slotName - Slot
string. Erforderlich, wenn deployToSlotOrASE = true. Standardwert. production.

Gibt einen vorhandenen Slot mit Ausnahme des Produktionsslots ein oder wählt diese aus.


package - Paket oder Ordner
string. Erforderlich. Standardwert. $(System.DefaultWorkingDirectory)/**/*.zip.

Der Dateipfad zu dem Paket oder Ordner, der App Service von MSBuild generierten Inhalt, eine komprimierte ZIP-Datei oder eine Kriegsdatei enthält. Variablen ( Build | release) und Wildcards werden unterstützt. Beispiel: $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - Laufzeitstapel
string. Optional. Verwenden Sie , wenn appType = functionAppLinux. Zulässige Werte: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, JAVA|8DOTNET-ISOLATED|8.0, JAVA|11, JAVA|17, JAVA|21, , NODE|14, , NODE|16, NODE|18, , PYTHON|3.10NODE|20PYTHON|3.9PYTHON|3.8PYTHON|3.11.

Geben Sie das Framework und die Version an, unter der Ihre Funktions-App ausgeführt wird. Sie können jede der unterstützten Laufzeitversionen verwenden. Alte Werte wie z. B DOCKER|microsoft/azure-functions-* . sind veraltet. Neue Werte werden in der Dropdownliste in der Aufgabe Assistent aufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist, können Sie sie auch dann angeben, wenn sie nicht in der Liste enthalten ist.


runtimeStack - Laufzeitstapel
string. Optional. Verwenden Sie , wenn appType = functionAppLinux. Zulässige Werte: 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)).

Geben Sie das Framework und die Version an, unter der Ihre Funktions-App ausgeführt wird. Sie können jede der unterstützten Laufzeitversionen verwenden. Alte Werte wie z. B DOCKER|microsoft/azure-functions-* . sind veraltet. Neue Werte werden in der Dropdownliste in der Aufgabe Assistent aufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist, können Sie sie auch dann angeben, wenn sie nicht in der Liste enthalten ist.


runtimeStack - Laufzeitstapel
string. Optional. Verwenden Sie , wenn appType = functionAppLinux. Zulässige Werte: 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 (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)).

Geben Sie das Framework und die Version an, unter der Ihre Funktions-App ausgeführt wird. Sie können jede der unterstützten Laufzeitversionen verwenden. Alte Werte wie z. B DOCKER|microsoft/azure-functions-* . sind veraltet. Neue Werte werden in der Dropdownliste in der Aufgabe Assistent aufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist, können Sie sie auch dann angeben, wenn sie nicht in der Liste enthalten ist.


runtimeStack - Laufzeitstapel
string. Optional. Verwenden Sie , wenn appType = functionAppLinux. Zulässige Werte: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Geben Sie das Framework und die Version an, unter der Ihre Funktions-App ausgeführt wird. Sie können jede der unterstützten Laufzeitversionen verwenden. Alte Werte wie z. B DOCKER|microsoft/azure-functions-* . sind veraltet. Neue Werte werden in der Dropdownliste in der Aufgabe Assistent aufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist, können Sie sie auch dann angeben, wenn sie nicht in der Liste enthalten ist.


startUpCommand - Startbefehl
string. Optional. Verwenden Sie , wenn appType = functionAppLinux.

Gibt den Startbefehl ein. Beispiel:

dotnet run
dotnet filename.dll


customWebConfig - Generieren web.config Parameter für Python-, Node.js-, Go- und Java-Apps
string. Optional. Verwenden Sie , wenn appType != functionAppLinux && package NotEndsWith .war.

Eine Standard-Web.config wird generiert und in Azure App Service bereitgestellt, sofern die Anwendung keines hat. Die Werte in web.config je nach Anwendungsframework variieren und können bearbeitet werden. Für die node.js Anwendung verfügen web.config beispielsweise über eine Startdatei und iis_node Modulwerte. Dieses Bearbeitungsfeature gilt nur für die generierte web.config.


appSettings - App-Einstellungen
string.

Geben Sie die Anwendungseinstellungen mithilfe der Syntax -key value ein (z. B. ). -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE Schließen Sie Werte ein, die Leerzeichen in doppelten Anführungszeichen enthalten (z. B.: "Eastern Standard Time").


configurationStrings - Konfigurationseinstellungen
string.

Geben Sie die Konfigurationszeichenfolgen mithilfe der Syntax -key value ein (z. B. ). -phpVersion 5.6-linuxFxVersion: node|6.11 Schließen Sie Werte ein, die Leerzeichen in doppelten Anführungszeichen enthalten.


deploymentMethod - Bereitstellungsmethode
string. Erforderlich, wenn appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Zulässige Werte: auto (Auto-Detect), zipDeploy (Zip Deploy), runFromPackage (Zip Deploy with Run From Package). Standardwert. auto.

Wählt die Bereitstellungsmethode für die App aus.


deploymentMethod - Bereitstellungsmethode
string. Erforderlich, wenn appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Zulässige Werte: auto (Automatische Erkennung), zipDeploy (Zip Deploy), runFromPackage (Aus Paket ausführen). Standardwert. auto.

Wählt die Bereitstellungsmethode für die App aus.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Diese Aufgabe definiert die folgenden Ausgabevariablen, die Sie in Downstreamschritten, Aufträgen und Phasen verwenden können.

AppServiceApplicationUrl
Die Anwendungs-URL der ausgewählten App Service.

Hinweise

Verwenden Sie die Azure-Funktions-App-Aufgabe, um Funktionen in Azure bereitzustellen.

Bereitstellungsmethoden

In dieser Aufgabe stehen mehrere Bereitstellungsmethoden zur Verfügung. Standardwert: auto.

Um die paketbasierte Bereitstellungsoption in einer Designeraufgabe zu ändern, erweitern Sie Zusätzliche Bereitstellungsoptionen , und aktivieren Sie Bereitstellungsmethode auswählen.

Basierend auf dem Typ der Azure App Service und des Azure Pipelines-Agents verwendet die Aufgabe eine geeignete Bereitstellungstechnologie. Die von Aufgaben verwendeten Bereitstellungstechnologien sind wie folgt:

Standardmäßig versucht der Task, die entsprechende Bereitstellungstechnologie basierend auf dem Eingabepaket, App Service Typ und Agentbetriebssystem auszuwählen.

  • Wenn ein Skript nach der Bereitstellung bereitgestellt wird, verwenden Sie Zip Deploy.
  • Wenn der App Service Typ Web-App unter Linux ist, verwenden Sie Zip Deploy.
  • Wenn eine WAR-Datei bereitgestellt wird, verwenden Sie War Deploy.
  • Wenn eine JAR-Datei bereitgestellt wird, verwenden Sie Run-From-Zip.
  • Verwenden Sie für alle anderen Aufgaben Run From Package (über Zip Deploy).

Bei einem Nicht-Windows-Agent (für jeden App Service Typ) basiert die Aufgabe auf der Kudu-REST-API, um die Web-App bereitzustellen.

Kudu-REST-API

Die Kudu-REST-API funktioniert sowohl auf Windows- als auch auf Linux-Automatisierungs-Agents, wenn das Ziel eine Web-App unter Windows, eine Web-App unter Linux (integrierte Quelle) oder eine Funktions-App ist. Der Task verwendet Kudu, um Dateien in die Azure App Service zu kopieren.

ZIP-Bereitstellung

Zip Deploy erstellt ein .zip Bereitstellungspaket aus dem ausgewählten Paket oder Ordner. Anschließend wird der Dateiinhalt im Ordner wwwroot der App Service Name-Funktions-App in Azure bereitgestellt. Diese Option überschreibt alle vorhandenen Inhalte im Ordner wwwroot. Weitere Informationen finden Sie unter Zip-Bereitstellung für Azure Functions.

Ausführung aus einem Paket

Run From Package erstellt dasselbe Bereitstellungspaket wie Zip Deploy. Anstatt Dateien im Ordner wwwroot bereitzustellen, bindet die Functions-Runtime das gesamte Paket ein. Wenn Sie diese Option verwenden, werden Dateien im Ordner wwwroot schreibgeschützt. Weitere Informationen finden Sie unter Run your Azure Functions from a package file (Ausführen von Azure Functions über eine Paketdatei).

Problembehandlung

Fehler: Das Zugriffstoken für Azure konnte nicht abgerufen werden. Stellen Sie sicher, dass der verwendete Dienstprinzipal gültig und nicht abgelaufen ist.

Die Aufgabe verwendet den Dienstprinzipal in der Dienstverbindung für die Authentifizierung bei Azure. Wenn der Dienstprinzipal abgelaufen ist oder über keine Berechtigungen für den App Service verfügt, schlägt die Aufgabe mit diesem Fehler fehl. Überprüfen Sie die Gültigkeit des verwendeten Dienstprinzipals, und vergewissern Sie sich, dass er in der App-Registrierung vorhanden ist. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen mithilfe der rollenbasierten Zugriffssteuerung. Dieser Blogbeitrag enthält auch weitere Informationen zur Verwendung der Dienstprinzipalauthentifizierung.

SSL-Fehler

Wenn Sie ein Zertifikat im App Service verwenden möchten, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert werden. Wenn Ihre Web-App Zertifikatüberprüfungsfehler meldet, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Legen Sie eine Variable mit dem Namen VSTS_ARM_REST_IGNORE_SSL_ERRORS auf den Wert true in der Build- oder Releasepipeline fest, um den Fehler zu beheben.

Ein Release bleibt für längere Zeit hängen und wird dann nicht erfolgreich abgeschlossen.

Dieses Problem kann das Ergebnis unzureichender Kapazität in Ihrem App Service Plan sein. Zur Behebung dieses Problems können Sie die App Service-Instanz hochskalieren, um die verfügbare CPU-, RAM- und Speicherplatzkapazität zu erhöhen, oder einen anderen App Service-Plan verwenden.

Fehlercodes vom Typ 5xx

Wenn ein 5xx-Fehler angezeigt wird, überprüfen Sie die status Ihres Azure-Diensts.

Azure-Funktion funktioniert plötzlich nicht mehr

Azure Functions funktioniert möglicherweise plötzlich nicht mehr, wenn seit der letzten Bereitstellung mehr als ein Jahr vergangen ist. Wenn Sie mit "RunFromPackage" in "deploymentMethod" bereitstellen, wird eine SAS mit einem Ablaufdatum von 1 Jahr generiert und als Wert von "WEBSITE_RUN_FROM_PACKAGE" in der Anwendungskonfiguration festgelegt. Azure Functions verwendet diese SAS, um auf die Paketdatei für die Funktionsausführung zu verweisen. Wenn die SAS also abgelaufen ist, wird die Funktion nicht ausgeführt. Um dieses Problem zu beheben, stellen Sie erneut bereit, um eine SAS mit einem Ablaufdatum von einem Jahr zu generieren.

Fehler: Keine Paketdatei mit dem angegebenen Muster gefunden.

Überprüfen Sie, ob das in der Aufgabe angegebene Paket als Artefakt in der Buildphase oder in einer vorherigen Phase veröffentlicht und im aktuellen Auftrag heruntergeladen wurde.

Fehler: Die Veröffentlichung über die ZIP-Bereitstellungsoption wird für den msBuild-Pakettyp nicht unterstützt.

Webpakete, die mit der MSBuild-Aufgabe (mit Standardargumenten) erstellt werden, haben eine geschachtelte Ordnerstruktur, die nur von Web Deploy ordnungsgemäß bereitgestellt werden kann. Diese Pakete können nicht mithilfe der Bereitstellungsoption „publish-to-zip“ bereitgestellt werden. Befolgen Sie die nachstehenden Schritte, um die Paketstruktur zu konvertieren:

  1. Ändern Sie in der Build-Lösungsaufgabe die MSBuild-Argumente in /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Screenshot mit den Build-Lösungswerten.

  2. Fügen Sie eine Archivaufgabe hinzu, und ändern Sie die Werte wie folgt:

    1. Ändern Sie den Stammordner oder die zu archivierende Datei in $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Deaktivieren Sie das Kontrollkästchen Name des Stammordners den Archivpfaden voranstellen:

      Screenshot, der die Archivwerte zeigt.

Die Bereitstellung der Funktions-App unter Windows ist erfolgreich, aber die App funktioniert nicht.

Dieses Problem kann auftreten, wenn keine web.config-Datei in Ihrer App vorhanden ist. Sie können ihrer Quelle entweder eine web.config-Datei hinzufügen oder mithilfe der Anwendungs- und Konfigurationseinstellungen der Aufgabe automatisch eine Datei generieren.

  1. Wählen Sie die Aufgabe aus, und wechseln Sie zu Generieren web.config Parameter für Python-, Node.js-, Go- und Java-Apps:

    Screenshot, der den Abschnitt web.config-Parameter generieren zeigt.

  2. Wählen Sie die Schaltfläche Mehr (...) unter Generieren web.config Parameter für Python-, Node.js-, Go- und Java-Apps aus, um die Parameter zu bearbeiten:

    Screenshot, der den Abschnitt web.config-Parameter generieren zeigt.

  3. Wählen Sie Ihren Anwendungstyp in der Liste Anwendungsframework aus.

  4. Klicken Sie auf OK. Dadurch werden die web.config Parameter aufgefüllt, die zum Generieren der web.config-Datei erforderlich sind.

Häufig gestellte Fragen

Wie sollte ich meine Dienstverbindung konfigurieren?

Diese Aufgabe erfordert eine Azure Resource Manager-Dienstverbindung.

Wie sollte ich die Webauftragsbereitstellung mit Application Insights konfigurieren?

Wenn Sie die Bereitstellung in einem App Service durchführen, müssen Sie auch aktivieren, wenn Sie Application InsightsRemove additional files at destination konfiguriert und aktiviert Exclude files from the App_Data folderhaben. Wenn Sie diese Option aktivieren, bleibt die Application Insights-Erweiterung in einem sicheren Zustand. Dieser Schritt ist erforderlich, da der fortlaufende Application Insights-WebJob im Ordner App_Data installiert ist.

Wie sollte ich meinen Agent bei einer Bereitstellung in App Service konfigurieren, wenn er sich hinter einem Proxy befindet?

Wenn für Ihren selbstgehosteten Agent ein Webproxy erforderlich ist, können Sie den Agent während der Konfiguration über den Proxy informieren. Dadurch kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder Azure DevOps Server herstellen. Erfahren Sie mehr über das Ausführen eines selbstgehosteten Agents hinter einem Webproxy.

Ich kann keine Bereitstellung in einem internen App Service-Umgebung mithilfe einer Azure Resource Manager-Dienstverbindung und eines von Microsoft gehosteten Agents durchführen.

Ein von Microsoft gehosteter Agent funktioniert standardmäßig nicht mit einem App Service-Umgebung. Stattdessen müssen Sie einen privaten Agent auf einem virtuellen Computer konfigurieren, der sich im selben virtuellen Netzwerk wie der App Service-Umgebung befindet. Legen Sie außerdem eine private DNS-Zone fest, um die Kommunikation zwischen den Ressourcen zu ermöglichen.

Beispiele

Hier sehen Sie einen YAML-Beispielausschnitt, der Azure-Funktionen unter Windows bereitstellt:


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

Um eine Funktion unter Linux bereitzustellen, fügen Sie den appType Parameter hinzu, und legen Sie ihn auf fest appType: functionAppLinux. Wenn Sie keinen Wert angeben, ist der Standardwert functionApp.

Um die Bereitstellungsmethode explizit als Zip Deploy anzugeben, fügen Sie den Parameter deploymentMethod: zipDeployhinzu. Ein weiterer unterstützter Wert für diesen Parameter ist runFromPackage. Wenn Sie keinen Wert angeben, ist der Standardwert auto.

Eine exemplarische Vorgehensweise zum Erstellen einer CI/CD-Pipeline finden Sie unter Erstellen und Bereitstellen von Java in Azure Functions.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.104.1 oder höher
Aufgabenkategorie Bereitstellen