AzureFunctionAppContainer@1 — zadanie usługi Azure Functions dla kontenera w wersji 1
Aktualizowanie aplikacji funkcji za pomocą kontenera platformy Docker.
Składnia
# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
inputs:
azureSubscription: # string. Required. Azure subscription.
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.
imageName: # string. Required. Image name.
#containerCommand: # string. Startup command.
# Application and Configuration Settings
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
Dane wejściowe
subskrypcji platformy Azure
string
. To jest wymagane.
Wybiera subskrypcji usługi Azure Resource Manager dla wdrożenia.
appName
-
nazwa aplikacji
string
. To jest wymagane.
Nazwa aplikacji funkcji dla kontenerów.
deployToSlotOrASE
-
wdrażanie w miejscu lub środowisku App Service Environment
boolean
. Wartość domyślna: false
.
Ustaw te dane wejściowe na true
, aby wdrożyć je w istniejącym miejscu wdrożenia lub środowisku Azure App Service Environment. Zadanie wymaga nazwy grupy zasobów dla obu obiektów docelowych. W przypadku opcji miejsca wdrożenia wartość domyślna jest wdrażana w miejscu produkcyjnym lub można określić dowolną inną istniejącą nazwę miejsca. Jeśli celem wdrożenia jest środowisko Azure App Service Environment, pozostaw nazwę miejsca jako produkcyjną i określ nazwę grupy zasobów.
grupy zasobów resourceGroupName
-
string
. Wymagane, gdy deployToSlotOrASE = true
.
Nazwa grupy zasobów zawierającej aplikację funkcji dla kontenerów.
miejsca
string
. Wymagane, gdy deployToSlotOrASE = true
. Wartość domyślna: production
.
Wprowadza lub wybiera istniejące miejsce z wyłączeniem miejsca produkcyjnego .
imageName
-
Nazwa obrazu
string
. To jest wymagane.
Globalnie unikatowa nazwa domeny najwyższego poziomu dla określonego rejestru lub przestrzeni nazw.
Uwaga: W pełni kwalifikowana nazwa obrazu będzie mieć format: <registry or namespace> <repository> <tag>
. Na przykład myregistry.azurecr.io/nginx:latest
.
polecenia uruchamiania
string
.
Polecenie uruchamiania wykonywane po wdrożeniu. Na przykład dotnet run
dotnet filename.dll.
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"
).
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.
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
To zadanie służy do wdrażania funkcji platformy Azure w systemie Linux przy użyciu obrazu niestandardowego .
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.
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.
Przykłady
W tym przykładzie usługa Azure Functions w systemie Linux jest wdrażana przy użyciu kontenerów:
variables:
imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
azureSubscription: Contoso
# To ignore SSL error uncomment the following variable
# VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
steps:
- task: AzureFunctionAppContainer@1
displayName: Azure Function App on Container deploy
inputs:
azureSubscription: $(azureSubscription)
appName: functionappcontainers
imageName: $(imageName)
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ń | Zastosuj |