Udostępnij za pośrednictwem


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 rundotnet 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