Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Den här artikeln hjälper dig att lösa vanliga fel som uppstår när du använder Azure Web App(AzureWebApp@1) eller Azure App Service Deploy (AzureRmWebAppDeployment@4) i Azure Pipelines.
Det här är en felsökningsartikel. Mer information om App Service-distributioner finns i Distribuera till Azure App Service med hjälp av Azure Pipelines, som omfattar AzureWebApp@1 och avancerade scenarier med AzureRmWebAppDeployment@4. Information om containerbaserade distributioner finns i Distribuera en anpassad container till App Service med Hjälp av Azure Pipelines, som innehåller AzureRmWebAppDeployment@4 exempel.
Tips/Råd
Innan du felsöker bör du samla in felsökningsloggar genom att aktivera utförlig loggning för pipelinekörningen. Du kan också samla in diagnostikloggar från Kudu-tjänsten och funktionen Diagnostisera och lösa problem i Azure-portalen för din App Service. Kontrollera Azure DevOps-status och Azure-status för att utesluta tjänstavbrott.
JavaScript-heap minnesfel
Symtom
Distributionsuppgiften misslyckas med följande fel:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Orsak
Det här felet uppstår när uppgiften försöker packa upp och packa om ett stort distributionspaket, och åtgärden överskrider agentens tillgängliga minne. Microsoft-drivna agenter har begränsade resurser, vilket kan orsaka att detta fel uppstår för omfattande paket.
Lösning / Beslut
Använd Azure Web App-uppgiften (AzureWebApp@1) istället för uppgiften AzureRmWebAppDeployment@4 för App Service-distributioner.
Uppgiften AzureWebApp@1 hanterar stora paket mer effektivt.
Om du vill ha mer komplicerade distributionsscenarier som kräver XML-transformering använder du Azure App Service Deploy-uppgiften (AzureRmWebAppDeployment@4) med ett mindre paket eller delar upp transformeringar i ett separat pipelinesteg.
"ECONNRESET" under distributionen
Symtom
Distributionsuppgiften misslyckas med följande fel:
Encountered a retriable error: ECONNRESET. Message: read ECONNRESET
Orsak
En nätverksanslutning mellan pipelineagenten och App Service återställdes under distributionen. Vanliga orsaker inkluderar:
- Microsoft-värdbaserade agenter som distribuerar till en App Service Environment (ASE): ASE kan blockera inkommande anslutningar från agentens IP-adresser.
- Lokalt installerade agenter: En fläckig eller instabil nätverksanslutning mellan agenten och App Service.
Lösning / Beslut
För Microsoft-hostade agenter med ASE:
Kontrollera att dina ASE-nätverkssäkerhetsregler tillåter inkommande anslutningar från IP-intervallen för Microsoft-hostad agent i din geografi. Listan över IP-adressintervall finns i Tillåtna IP-adresser och domän-URL:er.
För lokalt installerade agenter:
- Kontrollera att nätverksanslutningen mellan din agent och App Service är stabil.
- Om problemet kvarstår skapar du ett supportärende med Azure App Service eller Azure Networking-teamet för ytterligare undersökning.
"Det gick inte att distribuera webbpaketet till App Service"
Symtom
Distributionsaktiviteten misslyckas med ett eller båda av följande fel:
[error]Failed to deploy web package to App Service.
Package deployment using ZIP Deploy failed. Refer logs for more details.
Orsak
Uppgiften använder Kudu-API zipDeploy :et för distribution och API:et returnerade ett fel.
Det här felet kan inträffa när App Service inte kan bearbeta det inkommande paketet korrekt.
Lösning / Beslut
Ange appinställningen WEBSITE_RUN_FROM_PACKAGE till 1 på din App Service:
- Gå till Din App Service i Azure-portalen.
- Välj Inställningar för konfigurationsprogram>.
- Lägg till eller uppdatera inställningen
WEBSITE_RUN_FROM_PACKAGEmed värdet1. - Spara konfigurationen och försök distribuera igen.
Mer information finns i Kör din app från ett paket.
"EMFILE: för många öppna filer"
Symtom
Distributionsaktiviteten misslyckas med något av följande fel:
EMFILE: too many open files
Error: Package deployment using ZIP Deploy failed
Orsak
Distributionsuppgiften öppnar för många filreferenser när ett stort paket packas upp, vilket överskrider operativsystemets filbeskrivningsgräns.
Lösning / Beslut
Använd någon av följande lösningar:
Alternativ 1: Använd Azure Web App-aktiviteten
Växla från AzureRmWebAppDeployment@4 till azure web app-uppgiften (AzureWebApp@1) som hanterar stora paket på olika sätt.
Alternativ 2: Extrahera filer före distribution
Använd aktiviteten Extrahera filer för att packa upp paketet i ett tidigare steg och distribuera sedan den extraherade mappen. Den här metoden förhindrar att distributionsuppgiften behöver packa upp själva paketet.
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)'
Felet "Resursen finns inte"
Symtom
Distributionsuppgiften misslyckas med följande fel:
Error: Resource '<ResourceName>' doesn't exist. Resource should exist before deployment.
Det här felet kan inträffa med Azure Web App-uppgifter, Azure App Service Deploy-uppgifter, Azure Functions-uppgifter och distributionsuppgifter för ARM-mallar.
Orsak
Uppgiften anropar Azure-API:er som är beroende av cachelagrade resursdata. Om App Service eller annan Azure-resurs nyligen har skapats – antingen i samma pipeline, av ett annat verktyg eller precis innan pipelinen kördes – kanske cachen inte återspeglar den nya resursen ännu.
Lösning / Beslut
Lägg till ett fördröjningssteg i pipelinen före distributionsuppgiften så att Azure-cachen kan uppdateras:
steps:
- task: PowerShell@2
displayName: 'Wait for resource propagation'
inputs:
targetType: inline
script: Start-Sleep -Seconds 60
Om du inte löser felet genom att lägga till en fördröjning skapar du ett supportärende med Azure-tjänstteamet för den berörda resurstypen.
"Inget paket hittades med angivet mönster"
Symtom
Distributionsuppgiften misslyckas med ett fel som anger att inget paket hittades som matchar det angivna mönstret.
Orsak
Artefakten som innehåller distributionspaketet publicerades inte i bygget eller i en tidigare fas, eller så laddades den inte ned i det aktuella jobbet.
Lösning / Beslut
- Kontrollera att bygget eller ett tidigare pipelinesteg publicerar paketet som en pipelineartefakt.
- Bekräfta att det aktuella jobbet innehåller ett nedladdningssteg för artefakten.
- Kontrollera att filsökvägsmönstret i distributionsaktiviteten matchar den faktiska artefaktsökvägen.
"Alternativet Publicera med zip-distribution stöds inte för MSBuild-pakettypen"
Symtom
Distributionsuppgiften misslyckas med ett fel om att zip-distribution inte stöds för MSBuild-pakettyper.
Orsak
Webbpaket som skapats av MSBuild-aktiviteten (med standardargument) använder en kapslad mappstruktur som kräver webbdistribution för korrekt distribution. Alternativet zip-distribution kan inte hantera den aktuella paketstrukturen.
Lösning / Beslut
Använd AzureRmWebAppDeployment@4-uppgiften med Web Deploy i stället för zip-distribution, eller omstrukturera byggprocessen för att skapa en mappbaserad utdata.
För att skapa en mapp från MSBuild, lägg till /p:PackageAsSingleFile=false-argumentet i din MSBuild-uppgift.
5xx-fel vid driftsättning
Symtom
Distributionsaktiviteten misslyckas med en 500, 502, 503 eller annan 5xx HTTP-felkod.
Orsak
Ett fel på serversidan inträffade i App Service eller dess underliggande infrastruktur. Vanliga orsaker är otillräcklig Kapacitet för App Service-plan, ett pågående Azure-avbrott eller att App Service är i ett stopp- eller feltillstånd.
Lösning / Beslut
- Kontrollera Azure-status för pågående avbrott.
- I Azure-portalen kontrollerar du att App Service körs och att App Service-planen har tillräcklig kapacitet.
- Skala upp App Service-planen för att öka cpu-, RAM-minnet och diskutrymmet eller prova en annan plan.
- Mer information om felet på serversidan finns i Kudu-loggarna.
Uppdateringen fastnar och misslyckas eller "503-tjänst inte tillgänglig"
Symtom
En distribution körs under en längre period och misslyckas till slut, ett 503 Service Unavailable fel uppstår eller så uppdateras inte distributionshistoriken i Kudu-loggarna.
Orsak
Dessa problem uppstår vanligtvis när App Service-planen inte har tillräckligt med kapacitet för att hantera distributionen tillsammans med det program som körs.
Lösning / Beslut
- Skala upp App Service-instansen för att öka tillgängligt processor-, RAM-minne- och diskutrymme.
- Prova att distribuera till en annan App Service-plan för att utesluta resurskonkurration.
- Granska Kudu-diagnostikloggarna från Azure-portalen för specifika fel.
- För distributioner utan avbrott använder du distributionsplatser med platsswappar i stället för att distribuera direkt till produktionsplats.
Nätverksanslutningsfel under distributionen
Symtom
Distributionsaktiviteten misslyckas med ett nätverksrelaterat fel, till exempel:
Could not connect to the remote computer ('<AppName>.scm.azurewebsites.net')
Orsak
Pipelineagenten kan inte nå App Services Kudu-slutpunkt (SCM-plats) på grund av brandväggsregler, proxykonfiguration eller nätverksbegränsningar.
Lösning / Beslut
Granska nätverkskonfigurationen för din agenttyp:
- Microsoft-värdbaserade agenter: Se till att brandväggen tillåter anslutningar från IP-intervallen för Microsoft-värdbaserade agenter.
- Lokalt installerade agenter: Verifiera proxyinställningar och nätverksanslutning. Se Använda en lokalt installerad agent bakom en webbproxy.
- App Service Environment (ASE): Bekräfta att ASE-nätverkssäkerhetsgruppen tillåter inkommande anslutningar på SCM-slutpunkten. Se Nätverk för en App Service-miljö.
"Det gick inte att hämta åtkomsttoken för Azure"
Symtom
Distributionsuppgiften misslyckas med följande fel:
Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.
Orsak
Tjänstens huvudnamn som stöder Azure-tjänstanslutningen har upphört att gälla, inaktiverats eller saknar de behörigheter som krävs.
Lösning / Beslut
Verifiera tjänstens huvudnamn i Microsoft Entra-ID och förnya hemligheten eller certifikatet om det har upphört att gälla. Detaljerade felsökningssteg finns i Felsöka Azure Resource Manager-tjänstanslutningar.
SSL-fel i distributionsuppgiften
Symtom
Distributionsuppgiften misslyckas med ett SSL-relaterat fel.
Orsak
App Service har ett problem med SSL-certifikatkonfigurationen, till exempel att använda ett ej betrott eller självsignerat certifikat.
Lösning / Beslut
Kontrollera att certifikatet som används av App Service är signerat av en betrodd certifikatutfärdare. Mer information finns i Lägga till och hantera TLS/SSL-certifikat i Azure App Service.
Felkoder för Web Deploy
Symtom
När du använder Web Deploy som distributionsmetod visar aktivitetsloggen en felkod för webbdistribution som ERROR_CONNECTION_NOT_FOUND, ERROR_DESTINATION_NOT_REACHABLEeller andra.
Orsak
Web Deploy påträffade ett problem med att kommunicera med eller distribuera till App Service.
Lösning / Beslut
Se Felkoder för webbdistribution för en fullständig lista över felkoder och deras lösningar.
"ERROR_FILE_IN_USE" när du distribuerar .NET-appar
Symtom
Distributionsuppgiften misslyckas med ett ERROR_FILE_IN_USE fel när du distribuerar ett .NET-program till App Service i Windows.
Orsak
Programfiler låses av den programprocess som körs under distributionen.
Lösning / Beslut
Aktivera följande alternativ i AzureRmWebAppDeployment@4 aktiviteten:
-
Byt namn på låsta filer (
enableMSDeployAppOffline: true) -
Ta appen offline (
enableMSDeployRetry: true)
För distributioner med noll driftstopp använder du distributionsslotar med slot-swappar.
Appen har distribuerats men fungerar inte (Windows)
Symtom
Distributionen slutförs utan fel, men programmet svarar inte eller returnerar fel när du bläddrar till den.
Orsak
I Windows App Service krävs en web.config fil för många programtyper (till exempel Node.js eller Python).
Om filen saknas kan IIS inte dirigera begäranden till ditt program.
Lösning / Beslut
Lägg till en web.config fil i programmets rot.
Mer information finns i Konfigurera en anpassad container för Azure App Service och den ramverksspecifika vägledningen:
Distributionen av Function App misslyckas med AzureRmWebAppDeployment-uppgiften.
Symtom
Det går inte att distribuera en Azure-funktionsapp med hjälp av AzureRmWebAppDeployment@4 uppgiften.
Orsak
Uppgiften AzureRmWebAppDeployment@4 är utformad för App Service-distributioner och kanske inte hanterar funktionsappspecifika krav korrekt.
Lösning / Beslut
Använd Azure Functions-aktiviteten (AzureFunctionApp@1) i stället, som är särskilt utformad för distributioner av funktionsappar.
Relaterat innehåll
- Distribuera till App Service med Azure Pipelines
- AzureWebApp@1 – Azure Web App v1-uppgift
- AzureRmWebAppDeployment@4 – Azure App Service Deploy v4-uppgift
- Felsök Azure Resource Manager-tjänstanslutningar
- Felsöka pipeline-körningar
- Granska loggar för att diagnostisera pipelineproblem