AzureFunctionApp@1 – úkol Azure Functions v1

Aktualizujte aplikaci funkcí pomocí webových aplikací založených na .NET, Pythonu, JavaScriptu, PowerShellu a 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 Manager
string. Povinná hodnota.

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


appType - Typ aplikace
string. Povinná hodnota. Povolené hodnoty: functionApp (Function App ve Windows) functionAppLinux (Function App v Linuxu).


appName - název aplikace Azure Functions
string. Povinná hodnota.

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


appName - Název aplikace
string. Povinná hodnota.

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 App Service Environment
boolean. Výchozí hodnota: false.

Nasadí 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 jako výchozí produkční slot. Můžete také zadat jakýkoli jiný existující název slotu.

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


resourceGroupName - Skupina prostředků
string. Vyžaduje se, když 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 výše uvedenou Azure App Service.


slotName - Slot
string. Vyžaduje se, když deployToSlotOrASE = true. Výchozí hodnota: production.

Zadá nebo vybere existující slot s výjimkou slotu Production.


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

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


runtimeStack - Zásobník modulu runtime
string. Nepovinný parametr. Použijte, když appType = functionAppLinux. Povolené hodnoty: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, DOTNET-ISOLATED|8.0JAVA|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 aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako DOCKER|microsoft/azure-functions-* jsou, jsou zastaralé. Nové hodnoty jsou uvedené v rozevíracím seznamu v asistent úkolů. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze architektury, můžete ji zadat, i když není v seznamu.


runtimeStack - Zásobník modulu runtime
string. Nepovinný parametr. Použijte, když 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 (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)).

Zadejte architekturu a verzi, na které bude aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako DOCKER|microsoft/azure-functions-* jsou, jsou zastaralé. Nové hodnoty jsou uvedené v rozevíracím seznamu v asistent úkolů. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze architektury, můžete ji zadat, i když není v seznamu.


runtimeStack - Zásobník modulu runtime
string. Nepovinný parametr. Použijte, když 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|10 (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)).

Zadejte architekturu a verzi, na které bude aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako DOCKER|microsoft/azure-functions-* jsou, jsou zastaralé. Nové hodnoty jsou uvedené v rozevíracím seznamu v asistent úkolů. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze architektury, můžete ji zadat, i když není v seznamu.


runtimeStack - Zásobník modulu runtime
string. Nepovinný parametr. Použijte, když 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 aplikace funkcí běžet. Můžete použít kteroukoli z podporovaných verzí modulu runtime. Staré hodnoty, jako DOCKER|microsoft/azure-functions-* jsou, jsou zastaralé. Nové hodnoty jsou uvedené v rozevíracím seznamu v asistent úkolů. Pokud je v podporovaných verzích modulu runtime k dispozici novější verze architektury, můžete ji zadat, i když není v seznamu.


startUpCommand - Spouštěcí příkaz
string. Nepovinný parametr. Použijte, když appType = functionAppLinux.

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

dotnet run
dotnet filename.dll


customWebConfig - Generování parametrů web.config pro aplikace Python, Node.js, Go a Java
string. Nepovinný parametr. Použijte, když appType != functionAppLinux && package NotEndsWith .war.

Pokud aplikace nemá, vygeneruje se standardní Web.config a nasadí se do Azure App Service. Hodnoty v web.config se liší v závislosti na architektuře aplikace a je možné je upravovat. 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.


appSettings - Nastavení aplikace
string.

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


configurationStrings - Nastavení konfigurace
string.

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


deploymentMethod - Metoda nasazení
string. Vyžaduje se, když appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Povolené hodnoty: auto (Auto-detect), zipDeploy (Zip Deploy) runFromPackage (Zip Deploy with Run From Package). Výchozí hodnota: auto.

Zvolí metodu nasazení aplikace.


deploymentMethod - Metoda nasazení
string. Vyžaduje se, když appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Povolené hodnoty: auto (Auto-detect), zipDeploy (Zip Deploy) runFromPackage (Spustit z balíčku). Výchozí hodnota: auto.

Zvolí metodu nasazení aplikace.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

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ého App Service.

Poznámky

K nasazení funkcí do Azure použijte úlohu Aplikace funkcí 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í založeného na balíčku v úloze návrháře, rozbalte další možnosti nasazení a povolte Možnost Vybrat metodu nasazení.

V závislosti na typu Azure App Service a agenta Azure Pipelines používá úloha 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 App Service a operačního systému agenta.

  • Pokud je k dispozici skript po nasazení, použijte nasazení zipu.
  • Pokud je typ App Service Webová aplikace v Linuxu, použijte nasazení zipu.
  • Pokud je k dispozici soubor .war, použijte nasazení války.
  • Pokud je k dispozici soubor .jar, použijte run-from-zip.
  • Pro všechny ostatní úlohy použijte příkaz Spustit z balíčku (prostřednictvím nasazení zipu).

U jiného agenta než Windows (pro jakýkoli typ App Service) úloha při nasazení webové aplikace spoléhá na rozhraní Kudu REST API.

Kudu REST API

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 zkopíruje soubory do Azure App Service.

Nasazení souboru ZIP

Zip Deploy vytvoří balíček nasazení .zip ze zvoleného balíčku nebo složky. Potom nasadí obsah souboru do složky wwwroot aplikace funkcí s názvem 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í zipu pro Azure Functions.

Spuštění z balíčku

Příkaz Spustit z balíčku vytvoří stejný balíček pro nasazení jako Zip Deploy. Místo nasazení souborů do složky wwwroot modul runtime functions připojí 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 věnovaném spouštění Azure Functions ze souboru balíčku.

Poradce při potížích

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

Úloha používá instanční objekt v připojení služby k ověření v Azure. Pokud platnost instančního objektu vypršela nebo nemá oprávnění k App Service, úloha selže s touto chybou. Ověřte platnost použitého instančního objektu a to, že je k dispozici 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žití ověřování instančního objektu.

Chyba SSL

Pokud chcete použít certifikát v App Service, musí být certifikát podepsaný důvěryhodnou certifikační autoritou. Pokud webová aplikace zobrazí 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 sestavení nebo verze.

Vydání se na dlouhou dobu zasekne a pak selže

Příčinou tohoto problému může být nedostatečná kapacita ve vašem plánu App Service. Pokud chcete tento problém vyřešit, můžete vertikálně navýšit kapacitu instance App Service a zvýšit tak dostupné využití procesoru, paměti RAM a místa na disku nebo můžete zkusit použít jiný plán App Service.

Chybové kódy 5xx

Pokud se zobrazí chyba 5xx , zkontrolujte stav služby Azure.

Funkce Azure Functions náhle přestala fungovat

Azure Functions může náhle přestat fungovat, pokud od posledního nasazení uplynul více než jeden rok. Pokud nasadíte pomocí runFromPackage v "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 provádění funkce, takže pokud platnost SAS vypršela, funkce se nespustí. Pokud chcete tento problém vyřešit, nasaďte ho znovu a vygenerujte sas s datem vypršení platnosti jeden rok.

Chyba: nenašel se žádný balíček se zadaným vzorem.

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

Chyba: Typ balíčku msBuild nepodporuje publikování pomocí možnosti nasazení zip.

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í publish-to-zip nejde 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 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 sestavení řešení

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

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

    2. Zrušte zaškrtnutí políčka Prepend root folder name to archivovat cesty :

      Snímek obrazovky znázorňující hodnoty archivu

Nasazení aplikace funkcí ve Windows bylo úspěšné, ale aplikace nefunguje

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

  1. Vyberte úlohu a přejděte do části Generování parametrů web.config pro aplikace Python, Node.js, Go a Java:

    Snímek obrazovky znázorňující část Generování parametrů web.config

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

    Snímek obrazovky znázorňující parametry generování web.config

  3. V seznamu Architektura aplikací vyberte typ aplikace.

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

Nejčastější dotazy

Jak mám nakonfigurovat připojení služby?

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

Jak mám nakonfigurovat nasazení webových úloh pomocí Application Insights?

Pokud máte nakonfigurovanou službu Application Insights a máte povolenou Remove additional files at destinationslužbu , musíte při nasazování do App Service také povolit Exclude files from the App_Data folder. 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 během nasazování do App Service za proxy serverem?

Pokud agent v místním prostředí vyžaduje webový proxy server, můžete agenta informovat o proxy serveru během konfigurace. Agent se tak může připojit ke službě Azure Pipelines nebo Azure DevOps Server prostřednictvím proxy serveru. Přečtěte si další informace o spuštění agenta v místním prostředí za webovým proxy serverem.

Nemůžu provést nasazení do interního App Service Environment pomocí připojení služby Azure Resource Manager a agenta hostovaného Microsoftem

Agent hostovaný Microsoftem záměrně nebude fungovat s App Service Environment. 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, která povolí komunikaci mezi prostředky.

Příklady

Tady je ukázkový fragment kódu YAML, který nasazuje funkce Azure 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 appType , přidejte parametr a nastavte ho na appType: functionAppLinux. Pokud nezadáte hodnotu, functionApp je výchozí hodnota .

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

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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build, 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ů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.104.1 nebo vyšší
Kategorie úloh Nasazení