AzureFunctionApp@1 – Azure Functions v1-Aufgabe
Aktualisieren Sie eine Funktions-App mit .NET, Python, JavaScript, PowerShell, 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.
Eingänge
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 ihn aus. Die aufgelisteten 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 ihn aus. Die aufgelisteten Funktions-Apps basieren auf dem ausgewählten App-Typ.
deployToSlotOrASE
-
Bereitstellen im Slot- oder App Service Environment-
boolean
. Standardwert: false
.
Stellt einen vorhandenen Bereitstellungsplatz oder eine Azure App Service-Umgebung bereit. Für beide Ziele benötigt der Vorgang einen Ressourcengruppennamen.
Wenn das Bereitstellungsziel ein Slot ist, wird standardmäßig der Produktionsplatz. Alle anderen vorhandenen Slotnamen können ebenfalls bereitgestellt werden.
Wenn das Bereitstellungsziel eine Azure App Service-Umgebung ist, lassen Sie den Slotnamen als Produktions- und geben Sie den Ressourcengruppennamen an.
resourceGroupName
-
Ressourcengruppe
string
. Erforderlich, wenn deployToSlotOrASE = true
.
Der Ressourcengruppenname ist erforderlich, wenn das Bereitstellungsziel entweder ein Bereitstellungsplatz oder eine App Service-Umgebung ist.
Gibt die Azure-Ressourcengruppe ein, die den oben angegebenen Azure App Service enthält, oder wählt sie aus.
slotName
-
Slot-
string
. Erforderlich, wenn deployToSlotOrASE = true
. Standardwert: production
.
Gibt einen vorhandenen Steckplatz mit Ausnahme des Produktionsplatzes ein, oder wählt ihn aus.
package
-
Paket- oder Ordner-
string
. Erforderlich. Standardwert: $(System.DefaultWorkingDirectory)/**/*.zip
.
Der Dateipfad zum Paket oder Ordner, das App Service-Inhalte enthält, die von MSBuild, einer komprimierten ZIP-Datei oder einer Kriegsdatei generiert werden. Variablen ( Build | Release) und Wildcards werden unterstützt. Beispiel: $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war
.
runtimeStack
-
Runtime-Stapel-
string
. Wahlfrei. Wird verwendet, wenn appType = functionAppLinux
. Zulässige Werte: 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
.
Geben Sie das Framework und die Version an, auf dem Ihre Funktions-App ausgeführt wird. Sie können jedes der unterstützten Laufzeitversionenverwenden. Alte Werte wie DOCKER|microsoft/azure-functions-*
sind veraltet. Neue Werte werden in der Dropdownliste im Aufgaben-Assistentenaufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist können Sie es angeben, auch wenn es sich nicht in der Liste befindet.
runtimeStack
-
Runtime-Stapel-
string
. Wahlfrei. Wird verwendet, 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, auf dem Ihre Funktions-App ausgeführt wird. Sie können jedes der unterstützten Laufzeitversionenverwenden. Alte Werte wie DOCKER|microsoft/azure-functions-*
sind veraltet. Neue Werte werden in der Dropdownliste im Aufgaben-Assistentenaufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist können Sie es angeben, auch wenn es sich nicht in der Liste befindet.
runtimeStack
-
Runtime-Stapel-
string
. Wahlfrei. Wird verwendet, 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
(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, auf dem Ihre Funktions-App ausgeführt wird. Sie können jedes der unterstützten Laufzeitversionenverwenden. Alte Werte wie DOCKER|microsoft/azure-functions-*
sind veraltet. Neue Werte werden in der Dropdownliste im Aufgaben-Assistentenaufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist können Sie es angeben, auch wenn es sich nicht in der Liste befindet.
runtimeStack
-
Runtime-Stapel-
string
. Wahlfrei. Wird verwendet, 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, auf dem Ihre Funktions-App ausgeführt wird. Sie können jedes der unterstützten Laufzeitversionenverwenden. Alte Werte wie DOCKER|microsoft/azure-functions-*
sind veraltet. Neue Werte werden in der Dropdownliste im Aufgaben-Assistentenaufgeführt. Wenn eine neuere Version eines Frameworks in den unterstützten Laufzeitversionen verfügbar ist können Sie es angeben, auch wenn es sich nicht in der Liste befindet.
startUpCommand
-
Startbefehl
string
. Wahlfrei. Wird verwendet, wenn appType = functionAppLinux
.
Gibt den Startbefehl ein. Zum Beispiel:
dotnet run
dotnet filename.dll
customWebConfig
-
Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps
string
. Wahlfrei. Wird verwendet, wenn appType != functionAppLinux && package NotEndsWith .war
.
Ein Standard-Web.config wird generiert und in Azure App Service bereitgestellt, wenn die Anwendung nicht über eine verfügt. Die Werte in web.config variieren je nach Anwendungsframework und können bearbeitet werden. Für die node.js Anwendung verfügt web.config beispielsweise über eine Startdatei und iis_node Modulwerte. Dieses Bearbeitungsfeature ist nur für die generierten 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 doppelte Anführungszeichen enthalten (z. B. "Eastern Standard Time"
).
Weitere Informationen zu App-Einstellungen finden Sie unter Umgebungsvariablen und App-Einstellungen in Azure App Service.
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 doppelte Anführungszeichen enthalten.
deploymentMethod
-
Bereitstellungsmethode
string
. Erforderlich, wenn appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Zulässige Werte: auto
(Automatische Erkennung), 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
(Von Paket ausführen). Standardwert: auto
.
Wählt die Bereitstellungsmethode für die App aus.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Mit dieser Aufgabe werden die folgenden Ausgabevariablendefiniert, die Sie in nachgeschalteten Schritten, Aufträgen und Phasen verwenden können.
AppServiceApplicationUrl
Die Anwendungs-URL des ausgewählten App-Diensts.
Bemerkungen
Verwenden Sie die Azure Function App-Aufgabe, um Funktionen in Azure bereitzustellen.
Bereitstellungsmethoden
In dieser Aufgabe stehen mehrere Bereitstellungsmethoden zur Verfügung. Der Standardwert ist auto
.
Um die paketbasierte Bereitstellungsoption in einer Designeraufgabe zu ändern, erweitern Sie zusätzliche Bereitstellungsoptionen, und aktivieren Sie Select Deployment Method.
Basierend auf dem Typ des Azure App Service- und Azure Pipelines-Agents verwendet die Aufgabe eine geeignete Bereitstellungstechnologie. Die von Aufgaben verwendeten Bereitstellungstechnologien sind wie folgt:
- Kudu-REST-API-
- Zip Deploy
- Vom Paket- ausführen
Standardmäßig versucht die Aufgabe, die entsprechende Bereitstellungstechnologie basierend auf dem Eingabepaket, dem App-Diensttyp und dem Agentbetriebssystem auszuwählen.
- Wenn ein Skript nach der Bereitstellung bereitgestellt wird, verwenden Sie ZIP Deploy.
- Wenn der App-Diensttyp 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 "Von Paket ausführen" (über Zip Deploy).
Bei einem Nicht-Windows-Agent (für jeden App-Diensttyp) basiert die Aufgabe auf der Kudu-REST-API zum Bereitstellen der Web-App.
Kudu-REST-API
Die Kudu-REST-API funktioniert sowohl für Windows- als auch linux-Automatisierungs-Agents, wenn es sich bei dem Ziel um eine Web App unter Windows, eine Web-App unter Linux (integrierte Quelle) oder eine Funktions-App handelt. Die Aufgabe verwendet Kudu, um Dateien in den Azure App Service zu kopieren.
Zip Deploy
Zip Deploy erstellt ein .zip Bereitstellungspaket aus dem ausgewählten Paket oder Ordner. Anschließend wird der Dateiinhalt im Wwwroot-Ordner der App-Dienst-Namensfunktions-App in Azure bereitgestellt. Mit dieser Option werden alle vorhandenen Inhalte im Ordner "wwwroot" überschrieben. Weitere Informationen finden Sie unter Zip-Bereitstellung für Azure Functions.
Ausführen von Paketen
"Von Package ausführen" erstellt das gleiche Bereitstellungspaket wie zip Deploy. Anstatt Dateien im Ordner "wwwroot" bereitzustellen, stellt die Functions-Laufzeit das gesamte Paket bereit. Wenn Sie diese Option verwenden, werden Dateien im Ordner "wwwroot" schreibgeschützt. Weitere Informationen finden Sie unter Ausführen Ihrer Azure-Funktionen aus einer Paketdatei.
Fehlerbehebung
Fehler: Zugriffstoken für Azure konnte nicht abgerufen werden. Überprüfen Sie, ob der verwendete Dienstprinzipal gültig und nicht abgelaufen ist.
Die Aufgabe verwendet den Dienstprinzipal in der Dienstverbindung, um sich bei Azure zu authentifizieren. Wenn der Dienstprinzipal abgelaufen ist oder keine Berechtigungen für den App-Dienst besitzt, schlägt die Aufgabe mit diesem Fehler fehl. Überprüfen Sie die Gültigkeit des verwendeten Dienstprinzipals, und überprüfen Sie, ob er in der App-Registrierung vorhanden ist. Weitere Informationen finden Sie unter Verwenden der rollenbasierten Zugriffssteuerung zum Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen. Dieser Blogbeitrag enthält auch weitere Informationen zur Verwendung der Dienstprinzipalauthentifizierung.
SSL-Fehler
Wenn Sie ein Zertifikat in App Service verwenden möchten, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert werden. Wenn Ihre Web-App Fehler bei der Zertifikatüberprüfung anzeigt, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Legen Sie eine Variable namens VSTS_ARM_REST_IGNORE_SSL_ERRORS
auf den Wert true
in der Build- oder Releasepipeline fest, um den Fehler zu beheben.
Eine Freigabe hängt lange und schlägt dann fehl.
Dieses Problem könnte das Ergebnis unzureichender Kapazität in Ihrem App Service-Plan sein. Um dieses Problem zu beheben, können Sie die App Service-Instanz skalieren, um den verfügbaren CPU-, RAM- und Festplattenspeicher zu erhöhen, oder versuchen Sie es mit einem anderen App Service-Plan.
5xx Fehlercodes
Wenn ein 5-xx--Fehler angezeigt wird, den Status Ihres Azure-Dienstsüberprüfen.
Azure-Funktion funktionierte 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 ein SAS mit einem Ablaufdatum von 1 Jahr generiert und als Wert von "WEBSITE_RUN_FROM_PACKAGE" in der Anwendungskonfiguration festgelegt. Azure Functions verwendet dieses SAS, um auf die Paketdatei für die Funktionsausführung zu verweisen. Wenn die SAS abgelaufen ist, wird die Funktion nicht ausgeführt. Um dieses Problem zu beheben, stellen Sie es erneut bereit, um ein SAS mit einem Ablaufdatum von einem Jahr zu generieren.
Fehler: Kein Paket mit angegebenem Muster gefunden
Überprüfen Sie, ob das in der Aufgabe erwähnte Paket als Artefakt im Build oder einer vorherigen Phase veröffentlicht und in den aktuellen Auftrag heruntergeladen wird.
Fehler: Die Veröffentlichung mithilfe der ZIP-Bereitstellungsoption wird für den MsBuild-Pakettyp nicht unterstützt.
Webpakete, die über die MSBuild-Aufgabe (mit Standardargumenten) erstellt werden, weisen eine geschachtelte Ordnerstruktur auf, die nur von Web Deploy ordnungsgemäß bereitgestellt werden kann. Die Bereitstellungsoption zum Veröffentlichen in ZIP kann nicht verwendet werden, um diese Pakete bereitzustellen. Gehen Sie folgendermaßen vor, um die Verpackungsstruktur zu konvertieren:
Ändern Sie in der Aufgabe "Projektmappe erstellen" die MSBuild-Argumente in
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:Fügen Sie eine Archivaufgabe hinzu, und ändern Sie die Werte wie folgt:
Ändern Sie Stammordner oder -datei, um in
$(System.DefaultWorkingDirectory)\\WebAppContent
zu archivieren.Deaktivieren Sie den Namen des Voreingestellten Stammordners, um Pfade Kontrollkästchen zu archivieren:
Die Bereitstellung von Funktions-Apps unter Windows ist erfolgreich, die App funktioniert jedoch nicht.
Dieses Problem kann auftreten, wenn eine web.config Datei in Ihrer App nicht vorhanden ist. Sie können ihrer Quelle entweder eine web.config Datei hinzufügen oder eine datei automatisch generieren, indem Sie die Anwendungs- und Konfigurationseinstellungen der Aufgabe verwenden.
Wählen Sie die Aufgabe aus, und wechseln Sie zu Generieren web.config Parameter für Python, Node.js, Go- und Java-Apps:
Wählen Sie die Schaltfläche "Weitere" (...) unter Parameter web.config für Python generieren, Node.js, Go- und Java-Apps, um die Parameter zu bearbeiten:
Wählen Sie ihren Anwendungstyp in der Liste Anwendungsframework aus.
Wählen Sie OKaus. Dadurch werden die web.config Parameter aufgefüllt, die zum Generieren der web.config Datei erforderlich sind.
Häufig gestellte Fragen
Wie soll ich meine Dienstverbindung konfigurieren?
Für diese Aufgabe ist eine Azure Resource Manager-Dienstverbindungerforderlich.
Wie sollte ich die Bereitstellung von Webaufträgen mit Application Insights konfigurieren?
Wenn Sie Application Insights konfiguriert haben und Remove additional files at destination
aktiviert haben, müssen Sie auch Exclude files from the App_Data folder
aktivieren, wenn Sie Remove additional files at destination
in einem App-Dienst bereitstellen. Durch Aktivieren dieser Option wird die Application Insights-Erweiterung in einem sicheren Zustand beibehalten. Dieser Schritt ist erforderlich, da der fortlaufende WebJob von Application Insights im ordner App_Data installiert ist.
Wie sollte ich meinen Agent konfigurieren, wenn er sich hinter einem Proxy befindet, während ich im App Service bereitstelle?
Wenn Ihr selbst gehosteter Agent einen Webproxy benötigt, können Sie den Agent während der Konfiguration über den Proxy informieren. Auf diese Weise kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder Azure DevOps Server herstellen. Erfahren Sie mehr über das Ausführen eines selbst gehosteten Agents hinter einem Webproxy.
Ich kann nicht mithilfe einer Azure Resource Manager-Dienstverbindung und eines von Microsoft gehosteten Agents in einer internen App Service-Umgebung bereitstellen.
Standardmäßig funktioniert ein von Microsoft gehosteter Agent nicht mit einer App-Dienstumgebung. Stattdessen müssen Sie einen privaten Agent auf einem virtuellen Computer konfigurieren, der sich im gleichen virtuellen Netzwerk wie die App Service-Umgebung befindet. Legen Sie außerdem eine private DNS-Zone fest, um die Kommunikation zwischen den Ressourcen zu ermöglichen.
Beispiele
Hier ist ein Beispiel für einen YAML-Codeausschnitt, 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 parameter appType
hinzu, und legen Sie ihn auf appType: functionAppLinux
fest. Wenn Sie keinen Wert angeben, ist functionApp
der Standardwert.
Um die Bereitstellungsmethode explizit als Zip Deploy anzugeben, fügen Sie den Parameter deploymentMethod: zipDeploy
hinzu. Ein weiterer unterstützter Wert für diesen Parameter ist runFromPackage
.
Wenn Sie keinen Wert angeben, ist auto
der Standardwert.
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, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.104.1 oder höher |
Vorgangskategorie | Aufstellen |