Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Dieser Artikel hilft Ihnen, häufige Fehler zu beheben, die auftreten, wenn Sie die Aufgaben Azure Web App (AzureWebApp@1) oder Azure App Service Deploy (AzureRmWebAppDeployment@4) in Azure Pipelines verwenden.
Dies ist ein Problembehandlungsartikel. Weitere Informationen zu App Service-Bereitstellungen finden Sie unter Bereitstellen in Azure App Service mithilfe von Azure Pipelines, das Themen wie AzureWebApp@1 und erweiterte Szenarien mit AzureRmWebAppDeployment@4 abdeckt. Für containerbasierte Bereitstellungen lesen Sie den Artikel "Einen benutzerdefinierten Container mithilfe von Azure Pipelines in App Service bereitstellen", der AzureRmWebAppDeployment@4 Beispiele enthält.
Tipp
Bevor Sie Fehler beheben, sammeln Sie Debugprotokolle, indem Sie die ausführliche Protokollierung für die Pipeline-Ausführung aktivieren. Sie können auch Diagnoseprotokolle aus dem Kudu-Dienst und dem Feature "Diagnose und Lösung von Problemen " im Azure-Portal für Ihren App Service sammeln. Überprüfen Sie den Azure DevOps-Status und den Azure-Status , um Dienstausfälle auszuschließen.
"JavaScript-Heap aus dem Arbeitsspeicher"
Symptom
Die Bereitstellungsaufgabe schlägt mit dem folgenden Fehler fehl:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Ursache
Dieser Fehler tritt auf, wenn die Aufgabe versucht, ein großes Bereitstellungspaket zu entpacken und erneut zu packen, und der Vorgang überschreitet den verfügbaren Arbeitsspeicher auf dem Agenten. Von Microsoft gehostete Agents verfügen über begrenzte Ressourcen, was zu diesem Fehler bei großen Paketen führen kann.
Beschluss
Verwenden Sie die Azure Web App (AzureWebApp@1)- Aufgabe anstelle der AzureRmWebAppDeployment@4 Aufgabe für App Service-Bereitstellungen.
Die AzureWebApp@1 Aufgabe verarbeitet große Pakete effizienter.
Verwenden Sie für kompliziertere Bereitstellungsszenarien, die EINE XML-Transformation erfordern, die Azure App Service Deploy (AzureRmWebAppDeployment@4) -Aufgabe mit einem kleineren Paket, oder teilen Sie Transformationen in einen separaten Pipelineschritt auf.
"ECONNRESET" während der Bereitstellung
Symptom
Die Bereitstellungsaufgabe schlägt mit dem folgenden Fehler fehl:
Encountered a retriable error: ECONNRESET. Message: read ECONNRESET
Ursache
Eine Netzwerkverbindung zwischen dem Pipeline-Agent und dem App-Dienst wurde während der Bereitstellung zurückgesetzt. Häufige Ursachen sind:
- Von Microsoft gehostete Agents, die in einer App Service Environment (ASE) bereitgestellt werden: Das ASE könnte möglicherweise eingehende Verbindungen von Agent-IP-Adressen blockieren.
- Selbst gehostete Agenten: Eine unzuverlässige oder instabile Netzwerkverbindung zwischen den Agenten und dem App-Service.
Beschluss
Für von Microsoft gehostete Agents mit ASE:
Stellen Sie sicher, dass Ihre ASE-Netzwerksicherheitsregeln eingehende Verbindungen aus den von Microsoft gehosteten Agent-IP-Bereichen für Ihre Geografie zulassen. Die Liste der IP-Adressbereiche finden Sie unter Zulässige IP-Adressen und Domänen-URLs.
Für eigengehostete Agenten:
- Überprüfen Sie, ob die Netzwerkverbindung zwischen Ihrem Agent und dem App-Dienst stabil ist.
- Wenn das Problem weiterhin besteht, erstellen Sie ein Supportticket bei dem Azure App Service oder dem Azure Networking Team, um das Problem weiter zu untersuchen.
"Fehler beim Bereitstellen des Webpakets in App Service"
Symptom
Die Bereitstellungsaufgabe schlägt mit einem oder beiden der folgenden Fehler fehl:
[error]Failed to deploy web package to App Service.
Package deployment using ZIP Deploy failed. Refer logs for more details.
Ursache
Die Aufgabe verwendet die Kudu-API zipDeploy für die Bereitstellung, und die API hat einen Fehler zurückgegeben.
Dieser Fehler kann auftreten, wenn der App-Dienst das eingehende Paket nicht ordnungsgemäß verarbeiten kann.
Beschluss
Setzen Sie die WEBSITE_RUN_FROM_PACKAGE App-Einstellung auf 1 auf Ihrem App-Dienst.
- Wechseln Sie im Azure-Portal zu Ihrem App-Dienst.
- Wählen Sie"Konfigurationsanwendungseinstellungen>" aus.
- Hinzufügen oder Aktualisieren der Einstellung
WEBSITE_RUN_FROM_PACKAGEmit einem Wert von1. - Speichern Sie die Konfiguration, und wiederholen Sie die Bereitstellung.
Weitere Informationen finden Sie unter Ausführen Ihrer App aus einem Paket.
"EMFILE: zu viele geöffnete Dateien"
Symptom
Die Bereitstellungsaufgabe schlägt mit einem der folgenden Fehler fehl:
EMFILE: too many open files
Error: Package deployment using ZIP Deploy failed
Ursache
Die Bereitstellungsaufgabe öffnet zu viele Dateihandles, wenn ein großes Paket entzippt wird und die Dateibeschreibungsgrenze des Betriebssystems überschritten wird.
Beschluss
Verwenden Sie eine der folgenden Problemumgehungen:
Option 1: Verwenden der Azure Web App-Aufgabe
Wechseln Sie von AzureRmWebAppDeployment@4 zur Azure Web App (AzureWebApp@1)-Aufgabe, die große Pakete unterschiedlich behandelt.
Option 2: Extrahieren von Dateien vor der Bereitstellung
Verwenden Sie die Aufgabe "Dateien extrahieren ", um das Paket in einem vorherigen Schritt zu entzippen und dann den extrahierten Ordner bereitzustellen. Dieser Ansatz verhindert, dass die Bereitstellungsaufgabe das Paket selbst entzippen muss.
steps:
- task: ExtractFiles@1
displayName: 'Extract files'
inputs:
archiveFilePatterns: '$(InputPackageZipPath)'
destinationFolder: '$(OutputUnzippedPath)'
- task: AzureRmWebAppDeployment@4
displayName: 'Azure App Service Deploy'
inputs:
azureSubscription: 'Subscription'
WebAppName: 'app-name'
package: '$(OutputUnzippedPath)'
Fehler "Ressource ist nicht vorhanden"
Symptom
Die Bereitstellungsaufgabe schlägt mit dem folgenden Fehler fehl:
Error: Resource '<ResourceName>' doesn't exist. Resource should exist before deployment.
Dieser Fehler kann mit Azure Web App-Aufgaben, Azure App Service Deploy-Aufgaben, Azure Functions-Aufgaben und ARM-Vorlagenbereitstellungsaufgaben auftreten.
Ursache
Der Vorgang ruft Azure-APIs auf, die von zwischengespeicherten Ressourcendaten abhängen. Wenn der App-Dienst oder eine andere Azure-Ressource kürzlich erstellt wurde – entweder in derselben Pipeline, von einem anderen Tool oder direkt vor der Pipeline ausgeführt – spiegelt der Cache möglicherweise noch nicht die neue Ressource wider.
Beschluss
Fügen Sie einen Verzögerungsschritt in Ihrer Pipeline vor der Bereitstellungsaufgabe hinzu, damit der Azure-Cache aktualisiert werden kann:
steps:
- task: PowerShell@2
displayName: 'Wait for resource propagation'
inputs:
targetType: inline
script: Start-Sleep -Seconds 60
Wenn das Hinzufügen einer Verzögerung den Fehler nicht behebt, erstellen Sie ein Supportticket mit dem Azure-Serviceteam für den betroffenen Ressourcentyp.
"Es wurde kein Paket mit angegebenem Muster gefunden"
Symptom
Die Bereitstellungsaufgabe schlägt mit einem Fehler fehl, der angibt, dass kein Paket gefunden wurde, das dem angegebenen Muster entspricht.
Ursache
Das Artefakt, das das Bereitstellungspaket enthält, wurde entweder nicht im Build oder in einer vorherigen Stufe veröffentlicht oder nicht im aktuellen Job heruntergeladen.
Beschluss
- Stellen Sie sicher, dass der Build oder eine vorherige Pipelinephase das Paket als Pipelineartefakt veröffentlicht.
- Vergewissern Sie sich, dass der aktuelle Auftrag einen Downloadschritt für das Artefakt enthält.
- Überprüfen Sie, ob das Dateipfadmuster in der Bereitstellungsaufgabe mit dem tatsächlichen Artefaktpfad übereinstimmt.
Die Option "Veröffentlichen mit ZIP-Deploy" wird für den MSBuild-Pakettyp nicht unterstützt.
Symptom
Die Bereitstellungsaufgabe scheitert mit einem Fehler, dass die Zip-Bereitstellung für MSBuild-Pakettypen nicht unterstützt wird.
Ursache
Webpakete, die von der MSBuild-Aufgabe (mit Standardargumenten) erstellt wurden, verwenden eine geschachtelte Ordnerstruktur, die Web Deploy für die richtige Bereitstellung erfordert. Die Zip-Bereitstellungsoption kann diese Paketstruktur nicht verarbeiten.
Beschluss
Verwenden Sie die AzureRmWebAppDeployment@4 Aufgabe mit Web Deploy anstelle der ZIP-Bereitstellung, oder strukturieren Sie den Build so, dass eine verzeichnisbasierte Ausgabe erstellt wird.
Um eine Ordnerausgabe von MSBuild zu erzeugen, fügen Sie das /p:PackageAsSingleFile=false Argument zu Ihrer MSBuild-Aufgabe hinzu.
5xx-Fehler während der Bereitstellung
Symptom
Die Bereitstellungsaufgabe schlägt mit einem 500, 502, 503 oder einem anderen 5xx HTTP-Fehlercode fehl.
Ursache
Serverseitiger Fehler im App-Dienst oder der zugrunde liegenden Infrastruktur. Häufige Ursachen sind unzureichende App Service Plan-Kapazität, ein laufender Azure-Ausfall oder der App-Dienst, der in einem angehaltenen oder fehlerzustand ist.
Beschluss
- Überprüfen Sie den Azure-Status auf laufende Ausfälle.
- Überprüfen Sie im Azure-Portal, ob der App-Dienst ausgeführt wird und der App-Serviceplan über ausreichende Kapazität verfügt.
- Skalieren Sie den App-Dienstplan, um CPU, RAM und Speicherplatz zu erhöhen, oder probieren Sie einen anderen Plan aus.
- Weitere Informationen zum serverseitigen Fehler erhalten Sie in den Kudu-Protokollen.
Release hängt und schlägt dann fehl oder "503-Dienst nicht verfügbar"
Symptom
Eine Bereitstellung wird für einen längeren Zeitraum ausgeführt und schlägt schließlich fehl, tritt ein 503 Service Unavailable Fehler auf, oder der Bereitstellungsverlauf in Kudu-Protokollen kann nicht aktualisiert werden.
Ursache
Diese Probleme treten in der Regel auf, wenn der App-Serviceplan nicht genügend Kapazität hat, um die Bereitstellung zusammen mit der ausgeführten Anwendung zu verarbeiten.
Beschluss
- Skalieren Sie die App Service-Instanz, um den verfügbaren CPU-, RAM- und Festplattenspeicher zu erhöhen.
- Versuchen Sie, einen anderen App Service-Plan bereitzustellen, um Ressourcenkonflikte auszuschließen.
- Überprüfen Sie die Kudu-Diagnoseprotokolle aus dem Azure-Portal auf bestimmte Fehler.
- Verwenden Sie für Bereitstellungen ohne Ausfallzeiten Bereitstellungsplätze mit Slot-Swaps, anstatt direkt in den Produktionsslot zu implementieren.
Netzwerkkonnektivitätsfehler während der Bereitstellung
Symptom
Die Bereitstellungsaufgabe schlägt mit einem netzwerkbezogenen Fehler fehl, z. B.:
Could not connect to the remote computer ('<AppName>.scm.azurewebsites.net')
Ursache
Der Pipeline-Agent kann aufgrund von Firewallregeln, Proxykonfiguration oder Netzwerkeinschränkungen den Kudu-Endpunkt (SCM-Standort) des App-Diensts nicht erreichen.
Beschluss
Überprüfen sie die Netzwerkkonfiguration für Ihren Agenttyp:
- Von Microsoft gehostete Agents: Stellen Sie sicher, dass Ihre Firewall Verbindungen von den von Microsoft gehosteten Agent-IP-Bereichen zulässt.
- Selbst gehostete Agents: Überprüfen Sie Proxyeinstellungen und Netzwerkkonnektivität. Siehe Ausführen eines selbst gehosteten Agents hinter einem Webproxy.
- App Service Environment (ASE): Vergewissern Sie sich, dass die ASE-Netzwerksicherheitsgruppe eingehende Verbindungen auf dem SCM-Endpunkt zulässt. Siehe Netzwerk für eine App Service-Umgebung.
"Zugriffstoken für Azure konnte nicht abgerufen werden"
Symptom
Die Bereitstellungsaufgabe schlägt mit dem folgenden Fehler fehl:
Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.
Ursache
Der Dienstprinzipal, der die Azure-Dienstverbindung sichert, ist abgelaufen, deaktiviert oder verfügt nicht über die erforderlichen Berechtigungen.
Beschluss
Überprüfen Sie den Dienstprinzipal in der Microsoft Entra-ID, und verlängern Sie den geheimen Schlüssel oder das Zertifikat, falls er abgelaufen ist. Ausführliche Schritte zur Problembehandlung finden Sie unter "Problembehandlung für Azure Resource Manager-Dienstverbindungen".
SSL-Fehler in der Bereitstellungsaufgabe
Symptom
Die Bereitstellungsaufgabe schlägt mit einem SSL-bezogenen Fehler fehl.
Ursache
Der App-Dienst hat ein SSL-Zertifikatkonfigurationsproblem, z. B. die Verwendung eines nicht vertrauenswürdigen oder selbstsignierten Zertifikats.
Beschluss
Stellen Sie sicher, dass das von App Service verwendete Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist. Weitere Informationen finden Sie unter Hinzufügen und Verwalten von TLS/SSL-Zertifikaten in Azure App Service.
Web Deploy error codes (Web Deploy-Fehlercodes)
Symptom
Bei Verwendung von Web Deploy als Bereitstellungsmethode zeigt das Aufgabenprotokoll einen Web Deploy-Fehlercode wie ERROR_CONNECTION_NOT_FOUND, ERROR_DESTINATION_NOT_REACHABLEoder andere an.
Ursache
Bei der Webbereitstellung ist ein Problem aufgetreten, das die Kommunikation mit oder Bereitstellung an den App Service betrifft.
Beschluss
Eine vollständige Liste der Fehlercodes und deren Lösungen finden Sie unter Web Deploy error codes .
"ERROR_FILE_IN_USE" beim Bereitstellen von .NET-Apps
Symptom
Die Bereitstellungsaufgabe schlägt bei der ERROR_FILE_IN_USE Bereitstellung einer .NET-Anwendung für App Service unter Windows fehl.
Ursache
Anwendungsdateien werden während der Bereitstellung durch den ausgeführten Anwendungsprozess gesperrt.
Beschluss
Aktivieren Sie in der AzureRmWebAppDeployment@4 Aufgabe die folgenden Optionen:
-
Gesperrte Dateien umbenennen (
enableMSDeployAppOffline: true) -
App offline schalten (
enableMSDeployRetry: true)
Verwenden Sie für Bereitstellungen ohne Ausfallzeiten Bereitstellungsplätze mit Steckplatzwechseln.
Die App wurde erfolgreich bereitgestellt, funktioniert aber nicht (Windows)
Symptom
Die Bereitstellung wird ohne Fehler abgeschlossen, aber die Anwendung reagiert nicht oder gibt Fehler zurück, wenn Sie zu der Anwendung navigieren.
Ursache
Unter Windows App Service ist eine web.config Datei für viele Anwendungstypen (z. B. Node.js oder Python) erforderlich.
Wenn die Datei fehlt, kann IIS Anforderungen nicht an Ihre Anwendung weiterleiten.
Beschluss
Fügen Sie dem Stamm ihrer Anwendung eine web.config Datei hinzu.
Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Containers für Azure App Service und den frameworkspezifischen Leitfaden:
- Konfigurieren einer Node.js-App für Azure App Service
- Konfigurieren einer Python-App für Azure App Service
Fehler bei der Funktions-App-Bereitstellung mit azureRmWebAppDeployment-Aufgabe
Symptom
Das Bereitstellen einer Azure-Funktions-App mit der AzureRmWebAppDeployment@4 Aufgabe schlägt fehl.
Ursache
Die AzureRmWebAppDeployment@4 Aufgabe wurde für Bereitstellungen von App Services entwickelt und könnte möglicherweise Funktions-App-spezifische Anforderungen nicht korrekt behandeln.
Beschluss
Verwenden Sie stattdessen die Aufgabe Azure Functions (AzureFunctionApp@1), die speziell für Funktions-App-Bereitstellungen entwickelt wurde.
Verwandte Inhalte
- Bereitstellen für den App Service mithilfe von Azure Pipelines
- AzureWebApp@1 – Azure Web App v1-Aufgabe
- AzureRmWebAppDeployment@4 – Azure App Service Deploy v4-Aufgabe
- Problembehandlung für Azure Resource Manager-Dienstverbindungen
- Fehlerbehebung bei Pipeline-Läufen
- Überprüfen von Protokollen zum Diagnostizieren von Pipelineproblemen