AzureFunctionApp@1 — zadanie usługi Azure Functions w wersji 1
Aktualizowanie aplikacji funkcji przy użyciu aplikacji internetowych opartych na języku .NET, Python, JavaScript, PowerShell i Java.
Wdrażanie funkcji platformy Azure dla systemu Linux lub Windows.
Składnia
# 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.
Wejścia
azureSubscription
-
połączenia usługi Azure Resource Manager
string
. Wymagane.
Wybiera subskrypcję usługi Azure Resource Manager dla wdrożenia.
appType
-
typ aplikacji
string
. Wymagane. Dozwolone wartości: functionApp
(aplikacja funkcji w systemie Windows), functionAppLinux
(aplikacja funkcji w systemie Linux).
appName
-
nazwa aplikacji usługi Azure Functions
string
. Wymagane.
Wprowadza lub wybiera nazwę istniejącej aplikacji usługi Azure Functions. Wyświetlone aplikacje funkcji będą oparte na wybranym typie aplikacji.
appName
-
nazwa aplikacji
string
. Wymagane.
Wprowadza lub wybiera nazwę istniejącej aplikacji usługi Azure Functions. Wyświetlone aplikacje funkcji będą oparte na wybranym typie aplikacji.
deployToSlotOrASE
-
wdrażanie w miejscu lub środowisku App Service Environment
boolean
. Wartość domyślna: false
.
Wdraża w istniejącym miejscu wdrożenia lub środowisku Azure App Service Environment. W przypadku obu obiektów docelowych zadanie wymaga nazwy grupy zasobów.
Jeśli celem wdrożenia jest miejsce docelowe, domyślnie będzie to miejsce produkcyjne . Można również podać dowolną inną istniejącą nazwę miejsca.
Jeśli celem wdrożenia jest środowisko Azure App Service Environment, pozostaw nazwę miejsca jako produkcyjne i określ nazwę grupy zasobów.
grupy zasobów
string
. Wymagane, gdy deployToSlotOrASE = true
.
Nazwa grupy zasobów jest wymagana, gdy celem wdrożenia jest miejsce wdrożenia lub środowisko App Service Environment.
Wprowadza lub wybiera grupę zasobów platformy Azure zawierającą usługę Azure App Service określoną powyżej.
miejsca
string
. Wymagane, gdy deployToSlotOrASE = true
. Wartość domyślna: production
.
Wprowadza lub wybiera istniejące miejsce z wyłączeniem miejsca produkcyjnego.
package
-
pakietu lub folderu
string
. Wymagane. Wartość domyślna: $(System.DefaultWorkingDirectory)/**/*.zip
.
Ścieżka pliku do pakietu lub folderu zawierającego zawartość usługi App Service wygenerowaną przez program MSBuild, skompresowany plik zip lub plik wojenny. Obsługiwane są zmienne (kompilacji | release) i symbole wieloznaczne. Na przykład $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war
.
stosu środowiska uruchomieniowego
string
. Fakultatywny. Użyj polecenia , gdy appType = functionAppLinux
. Dozwolone wartości: 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
.
Określ strukturę i wersję, na podstawie których będzie działać aplikacja funkcji. Możesz użyć dowolnej z obsługiwanych wersji środowiska uruchomieniowego . Stare wartości, takie jak DOCKER|microsoft/azure-functions-*
, są przestarzałe. Nowe wartości są wyświetlane na liście rozwijanej w asystenta zadań. Jeśli w obsługiwanych wersji środowiska uruchomieniowego jest dostępna nowsza wersja platformy, można ją określić, nawet jeśli nie znajduje się na liście.
stosu środowiska uruchomieniowego
string
. Fakultatywny. Użyj polecenia , gdy appType = functionAppLinux
. Dozwolone wartości: 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 v4) v3/v4)), NODE|8
(NODE|8 (aplikacja funkcji w wersji 2)), NODE|10
(NODE|10 (aplikacja funkcji 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)).
Określ strukturę i wersję, na podstawie których będzie działać aplikacja funkcji. Możesz użyć dowolnej z obsługiwanych wersji środowiska uruchomieniowego . Stare wartości, takie jak DOCKER|microsoft/azure-functions-*
, są przestarzałe. Nowe wartości są wyświetlane na liście rozwijanej w asystenta zadań. Jeśli w obsługiwanych wersji środowiska uruchomieniowego jest dostępna nowsza wersja platformy, można ją określić, nawet jeśli nie znajduje się na liście.
stosu środowiska uruchomieniowego
string
. Fakultatywny. Użyj polecenia , gdy appType = functionAppLinux
. Dozwolone wartości: 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
(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 (aplikacja funkcji w wersji 3)).
Określ strukturę i wersję, na podstawie których będzie działać aplikacja funkcji. Możesz użyć dowolnej z obsługiwanych wersji środowiska uruchomieniowego . Stare wartości, takie jak DOCKER|microsoft/azure-functions-*
, są przestarzałe. Nowe wartości są wyświetlane na liście rozwijanej w asystenta zadań. Jeśli w obsługiwanych wersji środowiska uruchomieniowego jest dostępna nowsza wersja platformy, można ją określić, nawet jeśli nie znajduje się na liście.
stosu środowiska uruchomieniowego
string
. Fakultatywny. Użyj polecenia , gdy appType = functionAppLinux
. Dozwolone wartości: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Określ strukturę i wersję, na podstawie których będzie działać aplikacja funkcji. Możesz użyć dowolnej z obsługiwanych wersji środowiska uruchomieniowego . Stare wartości, takie jak DOCKER|microsoft/azure-functions-*
, są przestarzałe. Nowe wartości są wyświetlane na liście rozwijanej w asystenta zadań. Jeśli w obsługiwanych wersji środowiska uruchomieniowego jest dostępna nowsza wersja platformy, można ją określić, nawet jeśli nie znajduje się na liście.
polecenia uruchamiania
string
. Fakultatywny. Użyj polecenia , gdy appType = functionAppLinux
.
Wprowadza polecenie uruchamiania. Na przykład:
dotnet run
dotnet filename.dll
customWebConfig
-
Generowanie parametrów web.config dla języka Python, Node.js, Go i Java apps
string
. Fakultatywny. Użyj polecenia , gdy appType != functionAppLinux && package NotEndsWith .war
.
Standardowa Web.config zostanie wygenerowana i wdrożona w usłudze Azure App Service, jeśli aplikacja jej nie ma. Wartości w web.config różnią się w zależności od struktury aplikacji i można je edytować. Na przykład w przypadku aplikacji node.js web.config będą miały plik startowy i wartości modułu iis_node. Ta funkcja edycji dotyczy tylko wygenerowanej web.config.
ustawienia aplikacji appSettings
-
string
.
Wprowadź ustawienia aplikacji przy użyciu -key value
składni (na przykład: -Port 5000
-RequestTimeout 5000
-WEBSITE_TIME_ZONE
). Ujęć wartości zawierające spacje w cudzysłowach podwójnych (na przykład: "Eastern Standard Time"
).
Aby uzyskać więcej informacji na temat ustawień aplikacji, zobacz Zmienne środowiskowe i ustawienia aplikacji w usłudze Azure App Service.
configurationStrings
-
Ustawienia konfiguracji
string
.
Wprowadź ciągi konfiguracji przy użyciu -key value
składni (na przykład: -phpVersion 5.6
-linuxFxVersion: node|6.11
). Ujęć wartości, które zawierają spacje w cudzysłowach podwójnych.
metody wdrażania
string
. Wymagane, gdy appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Dozwolone wartości: auto
(wykrywanie automatyczne), zipDeploy
(wdrażanie zip), runFromPackage
(Zip Deploy with Run From Package). Wartość domyślna: auto
.
Wybiera metodę wdrażania dla aplikacji.
metody wdrażania
string
. Wymagane, gdy appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Dozwolone wartości: auto
(wykrywanie automatyczne), zipDeploy
(wdrażanie zip), runFromPackage
(Uruchom z pakietu). Wartość domyślna: auto
.
Wybiera metodę wdrażania dla aplikacji.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
To zadanie definiuje następujące zmienne wyjściowe , które można używać w krokach podrzędnych, zadaniach i etapach.
AppServiceApplicationUrl
Adres URL aplikacji wybranej usługi App Service.
Uwagi
Użyj zadania Aplikacja funkcji platformy Azure, aby wdrożyć funkcje na platformie Azure.
Metody wdrażania
W tym zadaniu jest dostępnych kilka metod wdrażania. Wartość domyślna to auto
.
Aby zmienić opcję wdrażania opartego na pakietach w zadaniu projektanta, rozwiń Dodatkowe opcje wdrażania i włącz Wybierz metodę wdrażania.
Na podstawie typu agenta usług Azure App Service i Azure Pipelines zadanie używa odpowiedniej technologii wdrażania. Technologie wdrażania używane przez zadania są następujące:
Domyślnie zadanie próbuje wybrać odpowiednią technologię wdrażania na podstawie pakietu wejściowego, typu usługi App Service i systemu operacyjnego agenta.
- Jeśli zostanie udostępniony skrypt po wdrożeniu, użyj narzędzia Zip Deploy.
- Jeśli typem usługi App Service jest aplikacja internetowa w systemie Linux, użyj narzędzia Zip Deploy.
- Jeśli zostanie podany plik war, użyj narzędzia War Deploy.
- Jeśli zostanie podany plik .jar, użyj polecenia Run-From-Zip.
- W przypadku wszystkich innych zadań użyj polecenia Uruchom z pakietu (za pośrednictwem narzędzia Zip Deploy).
W przypadku agenta innego niż Windows (dla dowolnego typu usługi App Service) zadanie opiera się na interfejsu API REST Kudu w celu wdrożenia aplikacji internetowej.
Kudu REST API
Interfejs API REST kudu
Wdrażanie zip
Narzędzie Zip Deploy tworzy pakiet wdrożeniowy .zip z wybranego pakietu lub folderu. Następnie wdraża zawartość pliku w folderze wwwroot aplikacji funkcji nazwy usługi App Service na platformie Azure. Ta opcja zastępuje całą istniejącą zawartość w folderze wwwroot. Aby uzyskać więcej informacji, zobacz Wdrażanie zip dla usługi Azure Functions.
Uruchamianie z pakietu
Polecenie Uruchom z pakietu tworzy ten sam pakiet wdrożeniowy co wdróż zip. Zamiast wdrażać pliki w folderze wwwroot, środowisko uruchomieniowe usługi Functions instaluje cały pakiet. W przypadku korzystania z tej opcji pliki w folderze wwwroot stają się tylko do odczytu. Aby uzyskać więcej informacji, zobacz Uruchamianie usługi Azure Functions z pliku pakietu.
Rozwiązywanie problemów
Błąd: Nie można pobrać tokenu dostępu dla platformy Azure. Sprawdź, czy użyta jednostka usługi jest prawidłowa i nie wygasła.
Zadanie używa jednostki usługi w połączeniu z usługą do uwierzytelniania za pomocą platformy Azure. Jeśli jednostka usługi wygasła lub nie ma uprawnień do usługi App Service, zadanie kończy się niepowodzeniem z powodu tego błędu. Sprawdź poprawność używanej jednostki usługi i czy jest ona obecna w rejestracji aplikacji. Aby uzyskać więcej informacji, zobacz Use role-based access control to manage access to your Azure subscription resources. Ten wpis w blogu zawiera również więcej informacji na temat korzystania z uwierzytelniania jednostki usługi.
Błąd SSL
Jeśli chcesz użyć certyfikatu w usłudze App Service, certyfikat musi być podpisany przez zaufany urząd certyfikacji. Jeśli aplikacja internetowa daje błędy weryfikacji certyfikatu, prawdopodobnie używasz certyfikatu z podpisem własnym. Ustaw zmienną o nazwie VSTS_ARM_REST_IGNORE_SSL_ERRORS
na wartość true
w potoku kompilacji lub wydania w celu rozwiązania błędu.
Wydanie zawiesza się przez długi czas, a następnie kończy się niepowodzeniem
Ten problem może być wynikiem niewystarczającej pojemności w planie usługi App Service. Aby rozwiązać ten problem, możesz skalować wystąpienie usługi App Service w górę w celu zwiększenia dostępnego procesora CPU, pamięci RAM i miejsca na dysku lub spróbować użyć innego planu usługi App Service.
5xx kody błędów
Jeśli widzisz błąd 5xx, sprawdzić stan usługi platformy Azure.
Funkcja platformy Azure nagle przestała działać
Usługa Azure Functions może nagle przestać działać, jeśli od ostatniego wdrożenia minęło więcej niż jeden rok. W przypadku wdrożenia za pomocą polecenia "RunFromPackage" w obszarze "deploymentMethod" zostanie wygenerowana sygnatura dostępu współdzielonego z datą wygaśnięcia 1 roku i ustawiona jako wartość "WEBSITE_RUN_FROM_PACKAGE" w konfiguracji aplikacji. Usługa Azure Functions używa tej sygnatury dostępu współdzielonego do odwołowania się do pliku pakietu na potrzeby wykonywania funkcji, więc jeśli sygnatura dostępu współdzielonego wygasła, funkcja nie zostanie wykonana. Aby rozwiązać ten problem, wdróż ponownie, aby wygenerować sygnaturę dostępu współdzielonego z datą wygaśnięcia jednego roku.
Błąd: Nie znaleziono pakietu z określonym wzorcem
Sprawdź, czy pakiet wymieniony w zadaniu został opublikowany jako artefakt w kompilacji lub poprzednim etapie i pobrany w bieżącym zadaniu.
Błąd: Opcja publikowania przy użyciu narzędzia zip deploy nie jest obsługiwana dla typu pakietu msBuild
Pakiety sieci Web utworzone za pośrednictwem zadania MSBuild (z domyślnymi argumentami) mają zagnieżdżonych struktury folderów, które można wdrożyć poprawnie tylko za pomocą narzędzia Web Deploy. Nie można użyć opcji wdrażania publikowania w pliku zip do wdrożenia tych pakietów. Aby przekonwertować strukturę pakowania, wykonaj następujące kroki:
W zadaniu Kompilowanie rozwiązania zmień argumenty MSBuild na
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:Dodaj zadanie Archiwum i zmień wartości w następujący sposób:
Zmień folder główny lub plik na archiwum na
$(System.DefaultWorkingDirectory)\\WebAppContent
.Wyczyść prepend nazwy folderu głównego do ścieżek archiwum pole wyboru:
Wdrażanie aplikacji funkcji w systemie Windows kończy się pomyślnie, ale aplikacja nie działa
Ten problem może wystąpić, jeśli plik web.config nie jest obecny w aplikacji. Możesz dodać plik web.config do źródła lub automatycznie wygenerować go przy użyciu ustawienia aplikacji i konfiguracji zadania.
Wybierz zadanie i przejdź do Generowanie parametrów web.config dla języka Python, Node.js, Go i Java apps:
Wybierz przycisk Więcej (...) w obszarze Generuj parametry web.config dla języka Python, Node.js, Go i Java, aby edytować parametry:
Wybierz typ aplikacji na liście platformy aplikacji
. Wybierz pozycję OK. Spowoduje to wypełnienie parametrów web.config wymaganych do wygenerowania pliku web.config.
Często zadawane pytania
Jak skonfigurować połączenie z usługą?
To zadanie wymaga połączenia usługi Azure Resource Manager.
Jak skonfigurować wdrażanie zadań internetowych za pomocą usługi Application Insights?
Jeśli wdrażasz w usłudze App Service, jeśli skonfigurowano Application Insights i włączono Remove additional files at destination
, należy również włączyć Exclude files from the App_Data folder
. Włączenie tej opcji powoduje zachowanie rozszerzenia usługi Application Insights w bezpiecznym stanie. Ten krok jest wymagany, ponieważ ciągłe zadanie WebJob usługi Application Insights jest instalowane w folderze App_Data.
Jak skonfigurować agenta, jeśli znajduje się on za serwerem proxy podczas wdrażania w usłudze App Service?
Jeśli własny agent wymaga internetowego serwera proxy, możesz poinformować agenta o serwerze proxy podczas konfiguracji. Dzięki temu agent może nawiązać połączenie z usługą Azure Pipelines lub usługą Azure DevOps Server za pośrednictwem serwera proxy. Dowiedz się więcej na temat uruchamiania własnego agenta za internetowym serwerem proxy.
Nie mogę wdrożyć w wewnętrznym środowisku App Service Environment przy użyciu połączenia usługi Azure Resource Manager i agenta hostowanego przez firmę Microsoft
Zgodnie z projektem agent hostowany przez firmę Microsoft nie będzie działać ze środowiskiem App Service Environment. Zamiast tego należy skonfigurować agenta prywatnego na maszynie wirtualnej, która znajduje się w tej samej sieci wirtualnej co środowisko App Service Environment. Ponadto ustaw prywatną strefę DNS, aby umożliwić komunikację między zasobami.
Przykłady
Oto przykładowy fragment kodu YAML, który wdraża funkcje platformy Azure w systemie 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
Aby wdrożyć funkcję w systemie Linux, dodaj parametr appType
i ustaw go na appType: functionAppLinux
. Jeśli nie określisz wartości, functionApp
jest wartością domyślną.
Aby jawnie określić metodę wdrożenia jako Zip Deploy, dodaj parametr deploymentMethod: zipDeploy
. Inną obsługiwaną wartością tego parametru jest runFromPackage
.
Jeśli nie określisz wartości, auto
jest wartością domyślną.
Aby zapoznać się z przewodnikiem pokazującym sposób tworzenia potoku ciągłej integracji/ciągłego wdrażania, zobacz Kompilowanie i wdrażanie języka Java w usłudze Azure Functions.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.104.1 lub nowsza |
Kategoria zadań | Wdrożyć |