Udostępnij za pośrednictwem


AzureContainerApps@1 — zadanie Wdrażanie usługi Azure Container Apps w wersji 1

Zadanie usługi Azure DevOps do kompilowania i wdrażania usługi Azure Container Apps.

Składnia

# Azure Container Apps Deploy v1
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@1
  inputs:
  # advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #appSourcePath: # string. Application source path. 
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    #acrName: # string. Azure Container Registry name. 
    #acrUsername: # string. Azure Container Registry username. 
    #acrPassword: # string. Azure Container Registry password. 
    #dockerfilePath: # string. Dockerfile path. 
    #imageToBuild: # string. Docker image to build. 
    #imageToDeploy: # string. Docker image to deploy. 
    #containerAppName: # string. Azure Container App name. 
    #resourceGroup: # string. Azure resource group name. 
    #containerAppEnvironment: # string. Azure Container App environment. 
    #runtimeStack: # string. Application runtime stack. 
    #targetPort: # string. Application target port. 
    #location: # string. Location of the Container App. 
    #environmentVariables: # string. Environment variables. 
    #ingress: # string. Ingress setting. 
    #yamlConfigPath: # string. YAML configuration file path. 
    #disableTelemetry: # boolean. Disable telemetry.

Wejścia

katalogu roboczego workingDirectory -
Alias wejściowy: cwd. string.

Bieżący katalog roboczy, w którym jest uruchamiany skrypt. Pusty to katalog główny repozytorium (kompilacja) lub artefakty (wydanie), czyli $(System.DefaultWorkingDirectory).


appSourcePath - ścieżka źródłowa aplikacji
string.

Ścieżka bezwzględna w module uruchamiającym kod aplikacji źródłowej do skompilowania. Jeśli nie zostanie podany, należy podać argument "imageToDeploy", aby upewnić się, że aplikacja kontenera ma obraz do odwołania.

Podczas wypychania nowego obrazu do usługi ACR wymagane są dane wejściowe zadań acrName i appSourcePath.


azureSubscription - połączenia usługi Azure Resource Manager
Alias wejściowy: connectedServiceNameARM. string. Wymagane.

Określ połączenie usługi Azure Resource Manager dla wdrożenia. To połączenie z usługą musi być połączone z subskrypcją platformy Azure użytkownika, w której zostanie utworzona/zaktualizowana aplikacja kontenera. To połączenie usługi musi mieć odpowiednie uprawnienia, aby wprowadzić te zmiany w ramach subskrypcji, na przykład rolę współautora.


acrName - nazwa usługi Azure Container Registry
string.

Nazwa usługi Azure Container Registry, do którego zostanie wypchnięty obraz aplikacji możliwej do uruchomienia.

Podczas wypychania nowego obrazu do usługi ACR wymagane są dane wejściowe zadań acrName i appSourcePath.


acrUsername - nazwa użytkownika usługi Azure Container Registry
string.

Nazwa użytkownika używana do uwierzytelniania żądań wypychania do podanego rejestru usługi Azure Contrainer. Jeśli nie zostanie podany, token dostępu zostanie wygenerowany za pomocą polecenia "az acr login" i przekazany do polecenia "docker login" w celu uwierzytelnienia żądań.


acrPassword - hasła usługi Azure Container Registry
string.

Hasło używane do uwierzytelniania żądań wypychanych do udostępnionego rejestru usługi Azure Contrainer. Jeśli nie zostanie podany, token dostępu zostanie wygenerowany za pomocą polecenia "az acr login" i przekazany do polecenia "docker login" w celu uwierzytelnienia żądań.


ścieżki dockerfile dockerfilePath -
string.

Ścieżka względna (_without prefiksy plików (zobacz następujące Przykłady) do pliku Dockerfile w podanym źródle aplikacji, które powinno służyć do kompilowania obrazu, który następnie jest wypychany do usługi ACR i wdrożony w aplikacji kontenera. Jeśli nie zostanie podana, to zadanie sprawdzi, czy w katalogu głównym udostępnionego źródła aplikacji znajduje się plik o nazwie "Dockerfile" i użyje go do skompilowania obrazu. W przeciwnym razie konstruktor Oryx++ zostanie użyty do utworzenia obrazu.


imageToBuild - obraz platformy Docker do kompilowania
string.

Niestandardowa nazwa obrazu, który ma zostać skompilowany, wypchnięty do usługi ACR i wdrożony w aplikacji kontenera przez to zadanie. Uwaga: ta nazwa obrazu powinna zawierać serwer ACR; np. <acr-name>.azurecr.io/<repo>:<tag>. Jeśli ten argument nie zostanie podany, zostanie skonstruowana domyślna nazwa obrazu w postaci <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - obraz platformy Docker do wdrożenia
string.

Nazwa obrazu, który został już wypchnięty do usługi ACR i zostanie wdrożona w aplikacji kontenera przez to zadanie. Uwaga: nazwa obrazu powinna zawierać serwer ACR; np. <acr-name>.azurecr.io/<repo>:<tag>. Jeśli ten argument nie zostanie podany, zostanie użyta wartość podana (lub określona) dla argumentu "imageToBuild". Jeśli ten obraz znajduje się w wystąpieniu usługi ACR, które wymaga uwierzytelniania do ściągnięcia, argumentu acrName lub acrUsername i acrPassword argumentów, można dostarczyć do uwierzytelnienia żądań do wystąpienia usługi ACR.


containerAppName - nazwa aplikacji kontenera platformy Azure
string.

Nazwa aplikacji kontenera platformy Azure, która zostanie utworzona lub zaktualizowana. Jeśli nie zostanie podana, ta wartość będzie mieć postać ado-task-app-<build-id>-<build-number>.


resourceGroup - nazwa grupy zasobów platformy Azure
string.

Istniejąca grupa zasobów, w której zostanie utworzona aplikacja kontenera platformy Azure (lub obecnie istnieje). Jeśli nie zostanie podana, ta wartość będzie mieć postać <container-app-name>-rg.


środowiska aplikacji kontenera platformy Azure containerAppEnvironment -
string.

Nazwa środowiska aplikacji kontenera platformy Azure do użycia z aplikacją. Jeśli nie zostanie podane, zostanie użyte istniejące środowisko w grupie zasobów aplikacji kontenera, w przeciwnym razie środowisko zostanie utworzone w formacie <container-app-name>-env.


stosu środowiska uruchomieniowego aplikacji runtimeStack -
string.

Stos wersji platformy używany w końcowym obrazie aplikacji możliwej do uruchomienia, który jest wdrożony w aplikacji kontenera. Wartość powinna być podana w tworzeniu <platform>:<version>. Jeśli nie zostanie podana, ta wartość jest określana przez Oryx na podstawie zawartości dostarczonej aplikacji. Aby uzyskać więcej informacji na temat obsługiwanych stosów środowiska uruchomieniowego dla rozwiązania Oryx, zapoznaj się z tym dokumentem.


port docelowy aplikacji targetPort -
string.

Port docelowy, na który będzie nasłuchiwać aplikacja kontenera. Jeśli nie zostanie podana, ta wartość będzie mieć wartość "80" dla aplikacji języka Python i "8080" dla wszystkich innych obsługiwanych platform.


location - lokalizacja aplikacji kontenera
string.

Lokalizacja, w której zostanie wdrożona aplikacja kontenera (i inne utworzone zasoby).


environmentVariables - zmienne środowiskowe
string.

Lista zmiennych środowiskowych dla kontenera. Wartości rozdzielone spacjami w formacie "key=value". Pusty ciąg w celu wyczyszczenia istniejących wartości. Wartość prefiksu z elementem "secretref:" w celu odwołania się do wpisu tajnego.


ustawienie ruchu przychodzącego ingress -
string.

Możliwe opcje: zewnętrzne, wewnętrzne, wyłączone. Jeśli ustawiono wartość external (wartość domyślna, jeśli nie zostanie podana podczas tworzenia aplikacji kontenera), aplikacja kontenera będzie widoczna z Internetu lub sieci wirtualnej w zależności od skonfigurowanego punktu końcowego środowiska aplikacji. Jeśli ustawiono wartość internal, aplikacja kontenera będzie widoczna tylko w środowisku aplikacji. Jeśli ustawiono wartość disabled, ruch przychodzący zostanie wyłączony dla tej aplikacji kontenera i nie będzie miał punktu końcowego HTTP ani TCP.


yamlConfigPath - ścieżki pliku konfiguracji YAML
string.

Pełna ścieżka (w przypadku wykonywania agenta usługi Azure Pipelines) do pliku YAML zawierającego szczegóły konfiguracji aplikacji kontenera.

Właściwość resourceGroup w pliku konfiguracji YAML nie będzie być używana; wartość tego elementu pochodzi z argumentu resourceGroup podanego do zadania lub domyślnej nazwy grupy zasobów wygenerowanej przez zadanie. Wszystkie inne właściwości podane w pliku konfiguracji YAML zastąpią wartości podane jako argumenty dla tego zadania; na przykład jeśli argument containerAppName jest dostarczany do zadania, a właściwość name jest ustawiona w pliku konfiguracji YAML, właściwość name w pliku YAML będzie używana podczas tworzenia lub aktualizowania aplikacji kontenera.

Argumenty źródła obrazów i aplikacji (np., appSourcePath, imageToDeploy) będą nadal używane do pierwszej kompilacji i/lub wypychania obrazu używanego przez aplikację kontenera; w takim przypadku podany plik konfiguracji YAML będzie musiał odwoływać się do obrazu określonego przez imageToDeploy (lub imageToBuild, w zależności od scenariusza).

Podczas tworzenia nowej aplikacji kontenera wszystkie właściwości wymienione w pliku konfiguracji YAML (z wyjątkiem resourceGroup jak wspomniano powyżej) zostaną ustawione podczas tworzenia aplikacji kontenera. Podczas aktualizowania istniejącej aplikacji kontenera tylko właściwości wymienione w pliku zostaną zaktualizowane w aplikacji kontenera.

Obecnie plik YAML nie obsługuje konfigurowania uwierzytelniania tożsamości zarządzanej dla używanego rejestru kontenerów; Aby uzyskać więcej informacji na temat tego problemu, zobacz ten problem z usługą GitHub.

W przypadkach, gdy zostanie podany argument yamlConfigPath, plik YAML zostanie przekazany do odpowiedniego polecenia az containerapp, create lub update w zależności od scenariusza. Aby uzyskać więcej informacji na temat zamierzonego zachowania w przypadku podania pliku konfiguracji YAML, zobacz dokumenty połączone z odpowiednimi poleceniami.

Aby uzyskać więcej informacji na temat struktury pliku konfiguracji YAML, odwiedź tej witryny.


disableTelemetry - Wyłącz telemetrii
boolean.

W przypadku ustawienia wartości "true" żadne dane telemetryczne nie zostaną zebrane przez to zadanie usługi Azure DevOps. W przypadku ustawienia wartości "false" lub jeśli ten argument nie zostanie podany, dane telemetryczne zostaną wysłane do firmy Microsoft o scenariuszu kompilacji i wdrażania aplikacji kontenera przeznaczonym dla tego zadania usługi Azure DevOps.


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

Żaden.

Uwagi

To zadanie usługi Azure Pipelines umożliwia użytkownikom łatwe wdrażanie źródła aplikacji w aplikacji kontenera platformy Azure w przepływie pracy usługi Azure Pipelines przez udostępnienie wcześniej utworzonego obrazu, pliku Dockerfile, z którego można skompilować obraz, lub przy użyciu konstruktora w celu utworzenia obrazu aplikacji możliwej do uruchomienia dla użytkownika.

Zadanie ma następujące dwa wzorce użycia.

  • wypychanie obrazu do usługi ACR — podczas wypychania nowego obrazu do usługi ACR wymagane są dane wejściowe zadań acrName i appSourcePath.
  • Wdrażanie wcześniej wypychanego obrazu — podczas wdrażania wcześniej wypychanego obrazu wymagane jest wprowadzenie imageToDeploy zadania. Jeśli ten obraz znajduje się w wystąpieniu usługi ACR, które wymaga uwierzytelniania do ściągnięcia, argumentu acrName lub acrUsername i acrPassword argumentów, można dostarczyć do uwierzytelnienia żądań do wystąpienia usługi ACR.

Nuta

Chociaż żadne dane wejściowe zadania nie są oficjalnie oznaczone jako "wymagane" w metadanych tego zadania, niektóre dane wejściowe muszą być podane w celu pomyślnego uruchomienia tego zadania przy użyciu jednego z dwóch głównych wzorców użycia.

Jeśli plik Dockerfile nie zostanie znaleziony lub podany w podanym źródle aplikacji, następujące kroki są wykonywane przez to zadanie:

  • Kompilowanie źródła aplikacji przy użyciu narzędzia Oryx++ Builder przy użyciu Oryx w celu utworzenia obrazu aplikacji możliwej do uruchomienia
  • Wypycha ten obraz aplikacji możliwej do uruchomienia do udostępnionej usługi Azure Container Registry
  • Tworzy lub aktualizuje aplikację kontenera na podstawie tego obrazu

Jeśli plik Dockerfile zostanie znaleziony lub odnaleziony w źródle aplikacji, konstruktor nie zostanie użyty, a obraz zostanie skompilowany za pomocą wywołania docker build, a aplikacja kontenera zostanie utworzona lub zaktualizowana na podstawie tego obrazu.

Jeśli wcześniej utworzony obraz został już wypchnięty do wystąpienia usługi ACR i jest dostarczany do tego zadania, żadne źródło aplikacji nie jest wymagane, a obraz zostanie użyty podczas tworzenia lub aktualizowania aplikacji kontenera.

Uruchamianie tego zadania na agentach hostowanych przez firmę Microsoft

Jeśli to zadanie jest uruchamiane w microsoft-hosted agent, może się okazać, że to zadanie nie jest można uruchomić pomyślnie z następującymi systemami operacyjnymi:

  • macOS
    • Moduły uruchamiane macOS dostarczone przez firmę Microsoft nie są instalowane przy użyciu platformy Docker (więcej informacji tutaj); W związku z tym to zadanie nie może uruchomić żadnych poleceń docker, takich jak wypychanie skompilowanych obrazów aplikacji z możliwością uruchamiania do usługi ACR.
  • Windows
    • Moduły uruchamiane windows dostarczane przez firmę Microsoft są zainstalowane z zainstalowaną platformą Docker, ale domyślnie obrazy oparte na systemie Linux nie mogą być ściągane; W związku z tym to zadanie nie może ściągnąć konstruktora Oryx w celu utworzenia obrazów aplikacji możliwych do uruchomienia z dostarczonego źródła aplikacji.

Aby uzyskać więcej informacji, zobacz poniższą sekcję wymagań wstępnych platformy Docker.

Powiadomienie o zbieraniu danych/danych telemetrycznych

Domyślnie to zadanie usługi Azure DevOps zbiera następujące dane dla firmy Microsoft:

  • Scenariusz kompilacji i wdrażania aplikacji kontenera przeznaczony dla użytkownika
    • tj., używał narzędzia Oryx++ Builder, używał dostarczonego/znalezionego pliku Dockerfile lub dostarczył wcześniej skompilowany obraz
    • Uwaga: nazwa obrazu nie jest zbierane
  • Czas przetwarzania zadania w milisekundach
  • Wynik zadania
    • , tj., zakończone powodzeniem lub niepowodzeniem
  • Jeśli jest używany konstruktor Oryx++, zdarzenia i metryki związane z tworzeniem udostępnionej aplikacji przy użyciu rozwiązania Oryx

Jeśli chcesz wyłączyć zbieranie danych, ustaw argument disableTelemetry na wartość true.

Warunki wstępne

Przed uruchomieniem tego zadania zasoby platformy Azure i połączenie usługi Azure DevOps są wymagane lub opcjonalne w zależności od argumentów dostarczonych do tego zadania.

Połączenie usługi Azure DevOps

Aby wdrożyć na platformie Azure, subskrypcja platformy Azure musi być połączona z serwerem Team Foundation Server lub z usługą Azure Pipelines przy użyciu karty Usługi w sekcji ustawień. Dodaj subskrypcję platformy Azure do użycia w definicji Build or Release Management, otwierając ekran Administracja kontem (ikona koła zębatego w prawym górnym rogu ekranu), a następnie kliknij kartę Usługi.

Utwórz punkt końcowy usługi ARM i użyj typu punktu końcowego usługi Azure Resource Manager; Aby uzyskać więcej informacji na temat tworzenia połączeń z usługą, postępuj zgodnie z tym dokumencie.

Interfejs wiersza polecenia platformy Azure

To zadanie wymaga zainstalowania interfejsu wiersza polecenia platformy Azure w agencie usługi Azure Pipelines w celu wykonania różnych poleceń podczas wykonywania zadania. Aby uzyskać więcej informacji na temat sposobu instalowania interfejsu wiersza polecenia platformy Azure na agencie, zobacz tym dokumencie. Jeśli agent jest już uruchomiony na maszynie, na której zainstalowano interfejs wiersza polecenia platformy Azure, upewnij się, że ponownie uruchomisz agenta, aby zaktualizować wszystkie odpowiednie zmienne środowiskowe.

Doker

To zadanie wymaga zainstalowania platformy Docker w agencie usługi Azure Pipelines w celu wypychania obrazów do udostępnionej usługi Azure Container Registry. Aby uzyskać więcej informacji na temat sposobu instalowania platformy Docker na agencie, zobacz tym dokumencie.

Ponadto użytkownicy, którzy uruchamiają to zadanie z agentem systemu Windows, mogą napotkać problem z brakiem możliwości ściągania obrazów opartych na systemie Linux; aby rozwiązać ten problem, znajdź plik DockerCli.exe na agencie (zazwyczaj w folderze Program Files\Docker\Docker) i uruchom polecenie

& `.\DockerCli.exe` -SwitchDaemon

Jeśli platforma Docker nie jest zainstalowana na agencie, na którym uruchomiono to zadanie, nadal są włączone następujące scenariusze:

  • Udostępnianie wcześniej skompilowanych obrazu do argumentu imageToDeploy wdrażanego przez aplikację kontenera za pomocą polecenia

Jeśli platforma Docker jest na agencie, ale nie może pracować z obrazami opartymi na systemie Linux, następujące scenariusze są nadal włączone:

  • Udostępnianie wcześniej skompilowanych obrazu do argumentu imageToDeploy wdrażanego przez aplikację kontenera za pomocą polecenia
  • Udostępnianie Dockerfile jako części źródła aplikacji, które zostanie skompilowane i wdrożone za pomocą aplikacji kontenera
    • Uwaga: Dockerfile nie może mieć żadnych warstw obrazu opartych na systemie Linux

pakiet interfejsu wiersza polecenia

Interfejs wiersza polecenia pakietu jest obsługiwany przez projekt Cloud Native Buildpacks i jest używany przez to zadanie do tworzenia obrazów aplikacji możliwych do uruchomienia dla użytkownika po podaniu kodu źródłowego aplikacji i nie podano ani nie znaleziono dodatkowego pliku Dockerfile. Konstruktor został utworzony przez Oryx, aby pobrać kod źródłowy aplikacji dostarczony do tego zadania i utworzyć obraz, który następnie może zostać wypchnięty do rejestru obrazów i użyty w aplikacji kontenera do skompilowania i uruchomienia aplikacji.

Stabilna wersja interfejsu wiersza polecenia pakietu jest zainstalowana na agencie usługi Azure Pipelines wykonującym zadanie, a w zależności od podstawowego systemu operacyjnego tego agenta różne narzędzia będą pomocne w instalacji:

  • W modułach uruchamiaczy systemu Windows:
    • Aby wykonać zestaw poleceń programu PowerShell, wykonaj następujące czynności:
      • Tworzy folder pack w folderze tymczasowym agenta, jeśli folder pack jeszcze nie istnieje
      • Pobiera .zip interfejsu wiersza polecenia pakietu do tego folderu pack
      • Rozpakuj zawartość z tego .zip i umieszcza je w folderze pack
      • Usuwa .zip
  • W modułach uruchamiaczy innych niż Windows:
    • curl będzie używany do ściągania .tgz zawierającego plik wykonywalny pack
    • tar będzie używany do rozpakowywania .tgz i umieszczania pliku wykonywalnego pack w /usr/local/bin

Azure Container Registry

usługi Azure Container Registry musi istnieć, że użytkownik może wypychać obrazy kontenerów do. To zadanie będzie używać usługi Azure Container Registry do wypychania wbudowanego obrazu aplikacji z możliwością uruchamiania do i/lub wdrażania aplikacji kontenera.

Nazwa usługi Azure Container Registry jest wymagana za pośrednictwem argumentu acrName.

Użytkownik może również podać wartości dla acrUsername i argumentów acrPassword, które będą uwierzytelniać wywołania do wystąpienia usługi Azure Container Registry; Jeśli nie zostanie podany, token dostępu zostanie wygenerowany za pośrednictwem interfejsu wiersza polecenia platformy Azure, który zamiast tego uwierzytelni wywołania.

Środowisko aplikacji kontenera platformy Azure

Zaleca się, aby środowisko aplikacji kontenera platformy Azure zostało wcześniej utworzone przez użytkownika w celu zwiększenia wydajności zadania. Jeśli środowisko nie zostało utworzone wcześniej lub jeśli nie można odnaleźć środowiska w grupie zasobów używanej do hostowania utworzonej aplikacji kontenera, środowisko zostanie utworzone w ramach polecenia az containerapp up, co może zająć dodatkowy czas.

Przykłady

W poniższych przykładach opisano sposób używania AzureContainerApps w różnych scenariuszach.

Minimalny — kompilowanie obrazu aplikacji dla aplikacji kontenera

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg. Aplikacja kontenera będzie oparta na obrazie utworzonym na podstawie podanej appSourcePath i wypchnięta do dostarczonego wystąpienia usługi ACR. Token dostępu zostanie wygenerowany w celu uwierzytelnienia wypychania do dostarczonego wystąpienia usługi ACR.

Minimalny — użyj wcześniej opublikowanego obrazu dla aplikacji kontenera

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/<existing-image>:latest

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg, w której nie utworzono nowego obrazu, ale istniejący obraz o nazwie mcr.microsoft.com/<existing-image>:latest będzie używany dla aplikacji kontenera.

Minimalny — użyj pliku konfiguracji YAML z wcześniej opublikowanym obrazem dla aplikacji kontenera

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    yamlConfigPath: simple-image-container-app.yaml

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg, w której nie utworzono nowego obrazu, ale istniejący obraz o nazwie mcr.microsoft.com/<existing-image>:latest będzie używany dla aplikacji kontenera. Dodatkowe właściwości aplikacji kontenera zostaną pobrane z pliku simple-image-container-app.yaml i zastąpią wszelkie dodatkowe wartości, które zostałyby podane do zadania jako argumenty z wyłączeniem resourceGroup.

Plik simple-image-container-app.yaml ma następującą strukturę:

properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/<existing-image>:latest
        name: mysampleimagecontainer

Wartości SUBSCRIPTION_ID, RESOURCE_GROUP i CONTAINER_APP_ENVIRONMENT należy zaktualizować, aby wskazać pełny identyfikator zasobu istniejącego środowiska aplikacji kontenera używanego przez aplikację kontenera.

Używanie poświadczeń usługi ACR do uwierzytelniania

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    acrUsername: $(ACR_USERNAME_SECRET)
    acrPassword: $(ACR_PASSWORD_SECRET)

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg. Aplikacja kontenera będzie oparta na obrazie utworzonym na podstawie podanej appSourcePath i wypchnięta do dostarczonego wystąpienia usługi ACR. Podane poświadczenia usługi ACR będą używane do uwierzytelniania wywołań w wystąpieniu usługi ACR.

Podana nazwa aplikacji kontenera

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie my-test-container-app w nowej nazwie grupy zasobów my-test-container-app-rg.

Udostępniona grupa zasobów

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    resourceGroup: 'my-test-rg'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w grupie zasobów o nazwie my-test-rg. Jeśli grupa zasobów my-test-rg nie istnieje, zostanie utworzona jako część tego zadania.

Podana nazwa aplikacji kontenera i grupa zasobów

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'
    resourceGroup: 'my-test-rg'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie my-test-container-app w grupie zasobów o nazwie my-test-rg. Jeśli grupa zasobów my-test-rg nie istnieje, zostanie utworzona jako część tego zadania.

Udostępnione środowisko aplikacji kontenera

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppEnvironment: 'my-test-container-app-env'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg z nowym środowiskiem aplikacji kontenera o nazwie my-test-container-app-env.

Udostępniony stos środowiska uruchomieniowego

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    runtimeStack: 'dotnetcore:7.0'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg, w której obraz aplikacji możliwej do uruchomienia używa stosu środowiska uruchomieniowego platformy .NET 7.

Udostępniony plik Dockerfile

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    dockerfilePath: 'test.Dockerfile'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg, w której utworzono obraz aplikacji z możliwością uruchomienia na podstawie pliku test.Dockerfile znalezionego w podanym katalogu ścieżki źródłowej aplikacji.

Uwaga: dla wartości podanych w dockerfilePathnie należy dołączać żadnych prefiksów plików (np../test.Dockerfile należy przekazać tak samo jak test.Dockerfile). Podane appSourcePath i dockerfilePath argumenty zostaną łączone wewnątrz zadania.

Obraz do skompilowania udostępniony

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    imageToBuild: 'mytestacr.azurecr.io/app:latest'

Spowoduje to utworzenie nowej aplikacji kontenera o nazwie ado-task-app-<build-id>-<build-number> w nowej grupie zasobów o nazwie <container-app-name>-rg, w której obraz skompilowany i wypchnięty do usługi ACR nosi nazwę mytestacr.azurecr.io/app:latest.

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.144.0 lub nowsza
Kategoria zadań Wdrożyć

Zobacz też