Sdílet prostřednictvím


AzureFunctionApp@1 – úloha Azure Functions v1

Aktualizujte aplikaci funkcí pomocí .NET, Pythonu, JavaScriptu, PowerShellu, webových aplikací založených na Javě.

Nasazení funkce Azure Functions pro Linux nebo Windows

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.

Vstupy

azureSubscription - připojení Azure Resource Manageru
string. Požadovaný.

Vybere předplatné Azure Resource Manageru pro nasazení.


appType - typ aplikace
string. Požadovaný. Povolené hodnoty: functionApp (aplikace funkcí ve Windows), functionAppLinux (aplikace funkcí v Linuxu).


appName - název aplikace Azure Functions
string. Požadovaný.

Zadá nebo vybere název existující aplikace Azure Functions. Uvedené aplikace funkcí budou založené na vybraném typu aplikace.


názvu aplikace
string. Požadovaný.

Zadá nebo vybere název existující aplikace Azure Functions. Uvedené aplikace funkcí budou založené na vybraném typu aplikace.


deployToSlotOrASE - Nasazení do slotu nebo služby App Service Environment
boolean. Výchozí hodnota: false.

Nasadí se do existujícího slotu nasazení nebo azure App Service Environment. Pro oba cíle úkol potřebuje název skupiny prostředků.

Pokud je cílem nasazení slot, použije se výchozí produkční slot. Můžete také zadat jakýkoli jiný název existujícího slotu.

Pokud je cílem nasazení Azure App Service Environment, ponechte název slotu jako produkční a zadejte název skupiny prostředků.


skupiny prostředků
string. Požadováno při deployToSlotOrASE = true.

Název skupiny prostředků se vyžaduje, pokud je cílem nasazení slot nasazení nebo app Service Environment.

Zadá nebo vybere skupinu prostředků Azure, která obsahuje službu Azure App Service uvedenou výše.


slotu
string. Požadováno při deployToSlotOrASE = true. Výchozí hodnota: production.

Zadá nebo vybere existující slot s výjimkou produkčního slotu.


package - balíček nebo složka
string. Požadovaný. Výchozí hodnota: $(System.DefaultWorkingDirectory)/**/*.zip.

Cesta k balíčku nebo složce, která obsahuje obsah služby App Service vygenerovaný nástrojem MSBuild, komprimovaný soubor ZIP nebo soubor war. Podporují se proměnné (Build | Release) a zástupné dokumentace. Například $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


zásobníku modulu runtime
string. Volitelný. Používá se při appType = functionAppLinux. Povolené hodnoty: 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.

Zadejte architekturu a verzi, na které bude vaše aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako je DOCKER|microsoft/azure-functions-*, jsou zastaralé. Nové hodnoty jsou uvedeny v rozevíracím seznamu v pomocníka pro úkoly. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze rozhraní, můžete ji zadat i v případě, že není v seznamu.


zásobníku modulu runtime
string. Volitelný. Používá se při appType = functionAppLinux. Povolené hodnoty: 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 (funkce)app 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)).

Zadejte architekturu a verzi, na které bude vaše aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako je DOCKER|microsoft/azure-functions-*, jsou zastaralé. Nové hodnoty jsou uvedeny v rozevíracím seznamu v pomocníka pro úkoly. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze rozhraní, můžete ji zadat i v případě, že není v seznamu.


zásobníku modulu runtime
string. Volitelný. Používá se při appType = functionAppLinux. Povolené hodnoty: 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|10NODE|12 (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)).

Zadejte architekturu a verzi, na které bude vaše aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako je DOCKER|microsoft/azure-functions-*, jsou zastaralé. Nové hodnoty jsou uvedeny v rozevíracím seznamu v pomocníka pro úkoly. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze rozhraní, můžete ji zadat i v případě, že není v seznamu.


zásobníku modulu runtime
string. Volitelný. Používá se při appType = functionAppLinux. Povolené hodnoty: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Zadejte architekturu a verzi, na které bude vaše aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako je DOCKER|microsoft/azure-functions-*, jsou zastaralé. Nové hodnoty jsou uvedeny v rozevíracím seznamu v pomocníka pro úkoly. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze rozhraní, můžete ji zadat i v případě, že není v seznamu.


spouštěcího příkazu
string. Volitelný. Používá se při appType = functionAppLinux.

Zadá spouštěcí příkaz. Například:

dotnet run
dotnet filename.dll


customWebConfig - Generovat parametry web.config pro Python, Node.js, Go a Aplikace v Javě
string. Volitelný. Používá se při appType != functionAppLinux && package NotEndsWith .war.

Standardní Web.config se vygeneruje a nasadí do služby Azure App Service, pokud ji aplikace nemá. Hodnoty v web.config se liší v závislosti na aplikačním rozhraní a je možné je upravit. Například pro aplikaci node.js bude mít web.config spouštěcí soubor a iis_node hodnoty modulu. Tato funkce úprav je určena pouze pro vygenerované web.config.


nastavení aplikace
string.

Zadejte nastavení aplikace pomocí -key value syntaxe (například: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). Uzavřete hodnoty, které obsahují mezery v dvojitých uvozovkách (například: "Eastern Standard Time").

Další informace o nastavení aplikace najdete v tématu Proměnné prostředí a nastavení aplikace ve službě Azure App Service.


nastavení konfigurace configurationStrings -
string.

Zadejte konfigurační řetězce pomocí -key value syntaxe (například: -phpVersion 5.6-linuxFxVersion: node|6.11). Uzavřete hodnoty, které obsahují mezery v dvojitých uvozovkách.


metody nasazení
string. Požadováno při appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Povolené hodnoty: auto (autodetekce), zipDeploy (zip deploy), runFromPackage (Zip Deploy with Run From Package). Výchozí hodnota: auto.

Zvolí metody nasazení pro aplikaci.


metody nasazení
string. Požadováno při appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Povolené hodnoty: auto (automatické zjišťování), zipDeploy (nasazení zip), runFromPackage (spustit z balíčku). Výchozí hodnota: auto.

Zvolí metody nasazení pro aplikaci.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.

AppServiceApplicationUrl
adresa URL aplikace vybrané služby App Service.

Poznámky

Pomocí úlohy Aplikace funkcí Azure nasaďte funkce do Azure.

Metody nasazení

V této úloze je k dispozici několik metod nasazení. Výchozí hodnota je auto.

Pokud chcete změnit možnost nasazení na základě balíčku v úloze návrháře, rozbalte Další možnosti nasazení a povolte Vybrat metodu nasazení.

Úloha na základě typu agenta Azure App Service a Azure Pipelines používá vhodnou technologii nasazení. Technologie nasazení používané úlohami jsou následující:

Ve výchozím nastavení se úloha pokusí vybrat příslušnou technologii nasazení na základě vstupního balíčku, typu služby App Service a operačního systému agenta.

  • Pokud je k dispozici skript po nasazení, použijte zip Deploy.
  • Pokud je typem služby App Service webová aplikace v Linuxu, použijte nástroj Zip Deploy.
  • Pokud je k dispozici soubor .war, použijte War Deploy.
  • Pokud je k dispozici soubor .jar, použijte příkaz Spustit ze souboru ZIP.
  • Pro všechny ostatní úlohy použijte balíček Spustit z (prostřednictvím příkazu Zip Deploy).

U agenta mimo Windows (pro jakýkoli typ služby App Service) úloha spoléhá na rozhraní Kudu REST API k nasazení webové aplikace.

Kudu REST API

Rozhraní ROZHRANÍ KUDU REST API funguje na agentech automatizace pro Windows i Linux, pokud je cílem webová aplikace ve Windows, webová aplikace v Linuxu (integrovaný zdroj) nebo aplikace funkcí. Úloha pomocí Kudu kopíruje soubory do služby Azure App Service.

Nasazení souboru ZIP

Zip Deploy vytvoří balíček pro nasazení .zip z vybraného balíčku nebo složky. Potom nasadí obsah souboru do složky wwwroot aplikace funkcí App Service v Azure. Tato možnost přepíše veškerý existující obsah ve složce wwwroot. Další informace najdete v tématu nasazení zip pro službu Azure Functions.

Spustit z balíčku

Spustit z balíčku vytvoří stejný balíček nasazení jako Zip Deploy. Místo nasazení souborů do složky wwwroot připojí modul runtime Functions celý balíček. Při použití této možnosti se soubory ve složce wwwroot stanou jen pro čtení. Další informace najdete v tématu Spuštění služby Azure Functions ze souboru balíčku.

Řešení problémů

Chyba: Nepodařilo se načíst přístupový token pro Azure. Ověřte, jestli použitý instanční objekt je platný a nevypršela jeho platnost.

Úloha používá instanční objekt v připojení ke službě k ověření v Azure. Pokud vypršela platnost instančního objektu nebo nemá oprávnění ke službě App Service, úloha selže s touto chybou. Ověřte platnost použitého instančního objektu a ověřte, že se nachází v registraci aplikace. Další informace najdete v tématu Použití řízení přístupu na základě role ke správě přístupu k prostředkům předplatného Azure. Tento blogový příspěvek obsahuje také další informace o používání ověřování instančního objektu.

Chyba SSL

Pokud chcete použít certifikát ve službě App Service, musí být certifikát podepsaný důvěryhodnou certifikační autoritou. Pokud vaše webová aplikace poskytuje chyby ověření certifikátu, pravděpodobně používáte certifikát podepsaný svým držitelem. Pokud chcete chybu vyřešit, nastavte proměnnou s názvem VSTS_ARM_REST_IGNORE_SSL_ERRORS na hodnotu true v kanálu buildu nebo verze.

Verze po dlouhou dobu přestane reagovat a pak selže.

Tento problém může být důsledkem nedostatečné kapacity v plánu služby App Service. Pokud chcete tento problém vyřešit, můžete vertikálně navýšit kapacitu instance služby App Service, abyste zvýšili dostupné využití procesoru, paměti RAM a místa na disku nebo zkuste použít jiný plán služby App Service.

5xx kódů chyb

Pokud se zobrazí chyba 5xx, zkontrolujte stav vašehoslužby Azure.

Funkce Azure Najednou přestala fungovat

Azure Functions může náhle přestat fungovat, pokud uplynulo více než jeden rok od posledního nasazení. Pokud nasadíte s parametrem RunFromPackage v části deploymentMethod, vygeneruje se SAS s datem vypršení platnosti 1 rok a nastaví se jako hodnota "WEBSITE_RUN_FROM_PACKAGE" v konfiguraci aplikace. Azure Functions používá tento SAS k odkazování na soubor balíčku pro spuštění funkce, takže pokud vypršela platnost SAS, funkce se nespustí. Pokud chcete tento problém vyřešit, nasaďte ho znovu a vygenerujte SAS s datem vypršení platnosti jednoho roku.

Chyba: Nebyl nalezen žádný balíček se zadaným vzorem.

Zkontrolujte, jestli se balíček uvedený v úloze publikuje jako artefakt v sestavení nebo předchozí fázi a stáhne se v aktuální úloze.

Chyba: Publikování pomocí možnosti nasazení zip není podporováno pro typ balíčku msBuild.

Webové balíčky vytvořené prostřednictvím úlohy MSBuild (s výchozími argumenty) mají vnořenou strukturu složek, kterou lze správně nasadit pouze nasazením webu. Možnost nasazení typu publish-to-zip se nedá použít k nasazení těchto balíčků. Pokud chcete převést strukturu balení, postupujte takto:

  1. V úloze sestavení řešení změňte argumenty NÁSTROJE MSBuild na /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    snímek obrazovky znázorňující hodnoty řešení sestavení

  2. Přidejte úlohu Archiv a následujícím způsobem změňte hodnoty:

    1. Změňte kořenovou složku nebo soubor tak, aby archivovat na $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Zrušte zaškrtnutí políčka Název předpend kořenové složky pro archivaci cest:

      Snímek obrazovky zobrazící hodnoty archivu

Nasazení aplikace funkcí ve Windows proběhne úspěšně, ale aplikace nefunguje

K tomuto problému může dojít, pokud soubor web.config není v aplikaci. Do zdroje můžete buď přidat web.config soubor, nebo ho automaticky vygenerovat pomocí nastavení aplikace a konfigurace úlohy.

  1. Vyberte úkol a přejděte na Generovat parametry web.config pro Python, Node.js, Go a Java apps:

    snímek obrazovky s oddílem Generovat parametry web.config

  2. V části Vygenerovat parametry web.config pro Python, Node.js, Go a Java vyberte tlačítko Další (...) a upravte parametry:

    snímek obrazovky znázorňující parametry vygenerovat web.config

  3. V seznamu rozhraní Application Framework vyberte typ aplikace.

  4. Vyberte OK. Tím se naplní parametry web.config potřebné k vygenerování souboru web.config.

Nejčastější dotazy

Jak mám nakonfigurovat připojení ke službě?

Tato úloha vyžaduje připojení služby Azure Resource Manager.

Jak mám nakonfigurovat nasazení webové úlohy pomocí Application Insights?

Pokud máte nakonfigurované Application Insights a povolili jste Remove additional files at destination, musíte také povolit Exclude files from the App_Data folderpři nasazování do služby App Service. Povolením této možnosti zůstane rozšíření Application Insights v bezpečném stavu. Tento krok je povinný, protože nepřetržitá webová úloha Application Insights je nainstalovaná do složky App_Data.

Jak mám nakonfigurovat agenta, pokud je za proxy serverem během nasazování do služby App Service?

Pokud váš agent v místním prostředí vyžaduje webový proxy server, můžete agenta informovat o proxy serveru během konfigurace. To umožňuje vašemu agentu připojit se k Azure Pipelines nebo Azure DevOps Serveru přes proxy server. Další informace o spuštění agenta v místním prostředí za webovým proxy serverem.

Nejde nasadit do interního prostředí App Service Environment pomocí připojení služby Azure Resource Manager a agenta hostovaného Microsoftem

Agent hostovaný Microsoftem nebude s prostředím App Service Environment fungovat. Místo toho musíte nakonfigurovat privátního agenta na virtuálním počítači, který je ve stejné virtuální síti jako App Service Environment. Nastavte také privátní zónu DNS tak, aby umožňovala komunikaci mezi prostředky.

Příklady

Tady je ukázkový fragment kódu YAML, který nasazuje funkce Azure Functions ve Windows:


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

Pokud chcete nasadit funkci v Linuxu, přidejte parametr appType a nastavte ho na appType: functionAppLinux. Pokud nezadáte hodnotu, functionApp je výchozí.

Pokud chcete explicitně zadat metodu nasazení jako Zip Deploy, přidejte parametr deploymentMethod: zipDeploy. Další podporovaná hodnota pro tento parametr je runFromPackage. Pokud nezadáte hodnotu, auto je výchozí.

Návod, který ukazuje, jak vytvořit kanál CI/CD, najdete v tématu Sestavení a nasazení Javy do služby Azure Functions.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.104.1 nebo vyšší
Kategorie úkolu Nasadit