AzureFunctionApp@2 – Azure Functions Deploy v2 task
Aktualisieren Sie eine Funktions-App mit .NET, Python, JavaScript, PowerShell, Java-basierten Webanwendungen.
Syntax
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
#isFlexConsumption: false # boolean. Is Function App on Flex Consumption Plan. Default: false.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "" && isFlexConsumption = false. 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 && isFlexConsumption = false. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && isFlexConsumption = false && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "". 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' | 'DOTNET-ISOLATED|7.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10'. Optional. Use when appType = functionAppLinux. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
Eingänge
connectedServiceNameARM
-
Azure Resource Manager-Verbindung
Eingabealias: azureSubscription
.
string
. Erforderlich.
Wählen Sie 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).
Wählen Sie den Azure Function App-Typ für die Bereitstellung aus.
isFlexConsumption
-
Is Function App on Flex Consumption Plan
boolean
. Standardwert: false
.
Legen Sie diesen Wert auf true
fest, wenn sich die Funktions-App in einem Flex-Verbrauchsplanbefindet.
appName
-
Azure Functions App-Name
string
. Erforderlich.
Geben Sie den Namen einer vorhandenen Azure Functions-App an. Die aufgelisteten Funktions-Apps basieren auf dem ausgewählten App-Typ.
deployToSlotOrASE
-
Bereitstellen im Slot- oder App Service Environment-
boolean
. Wahlfrei. Wird verwendet, wenn appType != "" && isFlexConsumption = false
. 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.
deployToSlotOrASE
-
Bereitstellen im Slot- oder App Service Environment-
boolean
. Wahlfrei. Wird verwendet, wenn appType != ""
. 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.
slotName
-
Slot-
string
. Erforderlich, wenn deployToSlotOrASE = true
. Standardwert: production
.
Geben Sie einen anderen Steckplatz als den Produktionsplatz ein, oder wählen Sie 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 oder einer komprimierten ZIP-Datei generiert werden. Variablen ( Build | Release) und Wildcards werden unterstützt. Beispiel: $(System.DefaultWorkingDirectory)/**/*.zip
.
runtimeStack
-
Runtime-Stapel-
string
. Wahlfrei. Wird verwendet, wenn appType = functionAppLinux && isFlexConsumption = false
. 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.
Anmerkung
Dieser Wert aktualisiert derzeit nicht das linuxFxVersion-, auf dem die Website ausgeführt wird. Dies bedeutet, dass Sie den Stapel nicht von Knoten 18 auf Knoten 20 aktualisieren können. Die Aufgabe aktualisiert derzeit nur die App-Einstellungen.
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)), DOTNET-ISOLATED|7.0
(DOTNET-ISOLATED|7.0 (functionapp v4)), JAVA|8
(JAVA|8 (functionapp v2/v) 3/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)), NODE|18
(NODE|18 (functionapp v4)), PYTHON|3.6
(PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7
(PYTHON|3.7 (functionapp v2/v) 3/v4)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9
(PYTHON|3.9 (functionapp v3/v4)), PYTHON|3.10
(PYTHON|3.10 (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.
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.
deploymentMethod
-
Bereitstellungsmethode
string
. Erforderlich, wenn appType != "" && isFlexConsumption = false && 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
.
Gibt die Bereitstellungsmethode für die App an. Linux-Verbrauchs-Apps unterstützen diese Konfiguration nicht.
deploymentMethod
-
Bereitstellungsmethode
string
. Erforderlich, wenn 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
.
Gibt die Bereitstellungsmethode für die App an. Linux-Verbrauchs-Apps unterstützen diese Konfiguration nicht.
deploymentMethod
-
Bereitstellungsmethode
string
. Erforderlich, wenn 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. Linux-Verbrauchs-Apps unterstützen diese Konfiguration nicht.s
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
Anwendungs-URL der ausgewählten Azure-Funktions-App.
Bemerkungen
Die Azure Function Deployment-Aufgabe wird verwendet, um Azure-Funktionen zu aktualisieren, um Funktionen in Azure bereitzustellen. Die Aufgabe funktioniert auf plattformübergreifenden Azure Pipelines-Agents unter Windows, Linux oder Mac und verwendet die zugrunde liegenden Bereitstellungstechnologien von RunFromPackage, Zip Deploy und Kudu REST-APIs.
Die Aufgabe funktioniert für die von Azure Functions unterstützten Sprachen.
Voraussetzungen für den Vorgang
Die folgenden Voraussetzungen müssen in den Zielcomputern eingerichtet werden, damit die Aufgabe ordnungsgemäß funktioniert.
Azure-Funktion
Die Aufgabe wird verwendet, um ein Azure Functions-Projekt in einer vorhandenen Azure-Funktion bereitzustellen. Die Azure Function-App sollte vor dem Ausführen der Aufgabe vorhanden sein. Die Azure Function App kann über das Azure-Portalerstellt werden. Alternativ kann die Azure PowerShell-Aufgabe verwendet werden, um AzureRM PowerShell-Skripts auszuführen, um die Azure Function-App bereitzustellen und zu konfigurieren.
Die Aufgabe kann verwendet werden, um Azure Functions (Windows/Linux) bereitzustellen.
Azure-Abonnement
Zum Bereitstellen in Azure muss ein Azure-Abonnement mithilfe der Registerkarte "Dienste" im Abschnitt "Kontoverwaltung" mit Azure-Pipelines verknüpft werden. Fügen Sie das Azure-Abonnement hinzu, das in der Definition "Build" oder "Release Management" verwendet werden soll, indem Sie den Bildschirm "Kontoverwaltung" öffnen (Zahnradsymbol oben rechts auf dem Bildschirm), und klicken Sie dann auf die Registerkarte "Dienste".
Erstellen Sie den ARM--Dienstendpunkt, und verwenden Sie Azure Resource Manager Endpunkttyp. Weitere Informationen finden Sie in den schritten, die im Link hieraufgeführt sind.
Die Aufgabe funktioniert nicht mit dem Azure Classic-Dienstendpunkt und listet diese Verbindungen nicht in den Parametern in der Aufgabe auf.
Bereitstellungsmethoden
In dieser Aufgabe stehen mehrere Bereitstellungsmethoden zur Verfügung.
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@2
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 |