AzureContainerApps@0 — zadanie Wdrażanie usługi Azure Container Apps w wersji 0
Zadanie usługi Azure DevOps do kompilowania i wdrażania usługi Azure Container Apps.
Składnia
# Azure Container Apps Deploy v0
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@0
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.
Dane wejściowe
workingDirectory
- Katalog roboczy
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.
W przypadku wypychania nowego obrazu do usługi ACR acrName
wymagane są dane wejściowe zadań i appSourcePath
.
azureSubscription
- Połączenie 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 z usługą musi mieć odpowiednie uprawnienia, aby wprowadzić te zmiany w ramach subskrypcji, na przykład rolę Współautor.
acrName
- nazwa Azure Container Registry
string
.
Nazwa Azure Container Registry, do którego zostanie wypchnięty obraz aplikacji możliwej do uruchomienia.
W przypadku wypychania nowego obrazu do usługi ACR acrName
wymagane są dane wejściowe zadań i appSourcePath
.
acrUsername
- nazwa użytkownika Azure Container Registry
string
.
Nazwa użytkownika używana do uwierzytelniania żądań wypychania w udostępnionym rejestrze usługi Azure Contrainer. Jeśli nie zostanie podany, token dostępu zostanie wygenerowany za pośrednictwem polecenia "az acr login" i przekazany do polecenia "docker login" w celu uwierzytelnienia żądań.
acrPassword
- hasło Azure Container Registry
string
.
Hasło używane do uwierzytelniania żądań wypychania w udostępnionym rejestrze usługi Azure Contrainer. Jeśli nie zostanie podany, token dostępu zostanie wygenerowany za pośrednictwem polecenia "az acr login" i przekazany do polecenia "docker login" w celu uwierzytelnienia żądań.
dockerfilePath
- Ścieżka pliku Dockerfile
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 należy użyć do skompilowania obrazu, który następnie zostanie wypchnięty do usługi ACR i wdrożony w aplikacji kontenera. Jeśli nie zostanie podana, to zadanie sprawdzi, czy w katalogu głównym podanego ź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 skompilowania
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, domyślna nazwa obrazu zostanie skonstruowana 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, acrName
argumentu lub acrUsername
argumentów i acrPassword
, można podać w celu 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
.
Grupa zasobów, w ramach którego zostanie utworzona aplikacja kontenera platformy Azure (lub obecnie istnieje). Jeśli nie zostanie podana, ta wartość będzie mieć postać <container-app-name>-rg
.
containerAppEnvironment
- Środowisko aplikacji kontenera platformy Azure
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
.
runtimeStack
- Stos środowiska uruchomieniowego aplikacji
string
.
Stos wersji platformy używany w końcowym obrazie aplikacji możliwej do uruchomienia, który jest wdrażany w aplikacji kontenera. Wartość powinna zostać podana w formacji <platform>:<version>
. Jeśli nie zostanie podana, ta wartość jest określana przez oryx na podstawie zawartości dostarczonej aplikacji. Zapoznaj się z tym dokumentem , aby uzyskać więcej informacji na temat obsługiwanych stosów środowiska uruchomieniowego dla rozwiązania Oryx.
targetPort
- Port docelowy aplikacji
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 ramach którego 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.
ingress
- Ustawienie ruchu przychodzącego
string
.
Możliwe opcje: zewnętrzne, wewnętrzne, wyłączone. W przypadku ustawienia external
wartości (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 zostanie ustawiona 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 lub TCP.
yamlConfigPath
- Ścieżka pliku konfiguracji YAML
string
.
Pełna ścieżka (w ramach 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 zostanie użyta; wartość tego argumentu pochodzi z argumentu podanego resourceGroup
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 tego zadania; jeśli na przykład containerAppName
argument zostanie podany do zadania, a name
właściwość zostanie ustawiona w pliku konfiguracji YAML, name
właściwość w pliku YAML zostanie użyta podczas tworzenia lub aktualizowania aplikacji kontenera.
Argumenty źródła obrazu i aplikacji (np.appSourcePath
imageToDeploy
, ) będą nadal używane do pierwszej kompilacji i/lub wypychania obrazu używanego przez aplikację kontenera. W tym 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
wymienionych 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 yamlConfigPath
argument jest podany, plik YAML zostanie przekazany do odpowiedniego az containerapp
polecenia lub create
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ź tę witrynę.
disableTelemetry
- Wyłączanie telemetrii
boolean
.
W przypadku ustawienia wartości "true" żadne dane telemetryczne nie będą zbierane 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 zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
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 utworzenia obrazu aplikacji możliwego do uruchomienia dla użytkownika za pomocą konstruktora.
Zadanie ma następujące dwa wzorce użycia.
- Wypychanie obrazu do usługi ACR — podczas wypychania nowego obrazu do usługi ACR
acrName
wymagane są dane wejściowe zadań iappSourcePath
. - Wdrożenie wcześniej wypchniętego obrazu — podczas wdrażania wcześniej wypchniętego obrazu
imageToDeploy
wymagane jest wprowadzenie danych wejściowych zadania. Jeśli ten obraz znajduje się w wystąpieniu usługi ACR, które wymaga uwierzytelniania do ściągnięcia,acrName
argumentu lubacrUsername
argumentów iacrPassword
, można podać w celu uwierzytelnienia żądań do wystąpienia usługi ACR.
Uwaga
Mimo że żadne dane wejściowe zadania nie są oficjalnie oznaczone jako "wymagane" w metadanych tego zadania, należy podać niektóre dane wejściowe, aby to zadanie mogło pomyślnie uruchomić przy użyciu jednego z dwóch głównych narzędzi.
Jeśli plik Dockerfile nie zostanie znaleziony lub podany w podanym źródle aplikacji, następujące kroki są wykonywane przez to zadanie:
- Używa narzędzia Oryx++ Builder do kompilowania źródła aplikacji przy użyciu narzędzia Oryx w celu utworzenia obrazu aplikacji z możliwością uruchomienia
- Wypycha ten obraz aplikacji z możliwością uruchamiania do podanej 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 utworzony 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 agencie hostowanym przez firmę Microsoft, może się okazać, że to zadanie nie może zostać pomyślnie uruchomione z następującymi systemami operacyjnymi:
- macOS
- Moduły uruchamiane z systemem macOS dostarczone przez firmę Microsoft nie są instalowane za pomocą platformy Docker (więcej informacji tutaj); W rezultacie to zadanie nie może uruchomić żadnych
docker
poleceń, takich jak wypychanie utworzonych obrazów aplikacji możliwych do uruchomienia do usługi ACR.
- Moduły uruchamiane z systemem macOS dostarczone przez firmę Microsoft nie są instalowane za pomocą platformy Docker (więcej informacji tutaj); W rezultacie to zadanie nie może uruchomić żadnych
- Windows
- Moduły uruchamiacze systemu Windows udostępniane przez firmę Microsoft są zainstalowane za pomocą platformy Docker, ale domyślnie obrazy oparte na systemie Linux nie mogą być ściągane; W rezultacie to zadanie nie może ściągnąć konstruktora Oryx w celu utworzenia obrazów aplikacji możliwych do uruchomienia z udostępnionego ź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żyto narzędzia Oryx++ Builder, użyto dostarczonego/znalezionego pliku Dockerfile lub podano wcześniej utworzony obraz
- Uwaga: nazwa obrazu nie jest zbierana
- Czas przetwarzania zadania w milisekundach
- Wynik zadania
- tj. powodzenie lub niepowodzenie
- 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 disableTelemetry
argument na true
.
Wymagania 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 Kompilacja lub 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 "Azure Resource Manager", aby uzyskać więcej informacji na temat tworzenia połączeń usług, postępuj zgodnie z tym dokumentem.
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 ten dokument. 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.
Docker
To zadanie wymaga zainstalowania platformy Docker w agencie usługi Azure Pipelines w celu wypychania obrazów do podanej Azure Container Registry. Aby uzyskać więcej informacji na temat sposobu instalowania platformy Docker na agencie, zobacz ten dokument.
Ponadto użytkownicy wykonujący 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, odwiedź tę witrynę lub znajduje się DockerCli.exe
plik w agencie (zazwyczaj w Program Files\Docker\Docker
folderze) i uruchom polecenie
& `.\DockerCli.exe` -SwitchDaemon
Jeśli platforma Docker nie jest zainstalowana na agencie z uruchomionym tym zadaniem, następujące scenariusze są nadal włączone:
- Podanie wcześniej utworzonego 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:
- Podanie wcześniej utworzonego obrazu do argumentu
imageToDeploy
wdrażanego przez aplikację kontenera za pomocą polecenia Dockerfile
Udostępnianie jako części źródła aplikacji, które zostanie skompilowane i wdrożone za pomocą aplikacji kontenera- Uwaga:
Dockerfile
nie można mieć żadnych warstw obrazów opartych na systemie Linux
- Uwaga:
interfejs wiersza polecenia pakietu
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 zostanie podany żaden dodatkowy plik Dockerfile. Konstruktor został utworzony przez Oryx, aby użyć kodu źródłowego aplikacji dostarczonego 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 instalowana 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ą używane do ułatwienia instalacji:
- Na modułach uruchamianych w systemie Windows:
- Zestaw poleceń programu PowerShell jest wykonywany w celu wykonania następujących czynności:
pack
Tworzy folder w folderze tymczasowym agenta, jeślipack
folder jeszcze nie istnieje- Pobiera interfejs wiersza polecenia
.zip
pakietu do tegopack
folderu - Rozpakuj zawartość z tego
.zip
obiektu i umieszcza je w folderzepack
- Usuwa obiekt
.zip
- Zestaw poleceń programu PowerShell jest wykonywany w celu wykonania następujących czynności:
- Na modułach uruchamianych w systemie innych niż Windows:
curl
będzie używany do ściągania.tgz
pliku wykonywalnego zawierającegopack
plik wykonywalnytar
zostanie użyty do rozpakuj plik.tgz
wykonywalny i umieść gopack
w pliku wykonywalny/usr/local/bin
Azure Container Registry
Azure Container Registry musi istnieć, że użytkownik może wypychać obrazy kontenerów do. To zadanie będzie korzystać z Azure Container Registry w celu wypychania wbudowanego obrazu aplikacji możliwej do uruchomienia do i/lub wdrożenia aplikacji kontenera.
Nazwa Azure Container Registry jest wymagana za pośrednictwem argumentuacrName
.
Użytkownik może również podać wartości acrUsername
argumentów iacrPassword
, które będą uwierzytelniać wywołania wystąpienia Azure Container Registry. Jeśli nie podano, 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
Zalecane jest, 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 az containerapp up
polecenia, co może zająć więcej czasu.
Przykłady
W poniższych przykładach opisano sposób użycia w AzureContainerApps
różnych scenariuszach.
Minimalny — tworzenie obrazu aplikacji dla aplikacji kontenera
steps:
- task: AzureContainerApps@0
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 dostarczonego appSourcePath
i wypchniętego do udostępnionego wystąpienia usługi ACR. Token dostępu zostanie wygenerowany w celu uwierzytelnienia wypychania do dostarczonego wystąpienia usługi ACR.
Minimum — użyj wcześniej opublikowanego obrazu dla aplikacji kontenera
steps:
- task: AzureContainerApps@0
displayName: Build and deploy Container App
inputs:
connectedServiceNameARM: 'azure-subscription-service-connection'
imageToDeploy: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
Spowoduje to utworzenie nowej aplikacji kontenera o nazwie w nowej grupie zasobów o nazwie ado-task-app-<build-id>-<build-number>
<container-app-name>-rg
, w której nie utworzono nowego obrazu, ale istniejący obraz o nazwie mcr.microsoft.com/azuredocs/containerapps-helloworld: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@0
displayName: Build and deploy Container App
inputs:
yamlConfigPath: simple-image-container-app.yaml
Spowoduje to utworzenie nowej aplikacji kontenera o nazwie w nowej grupie zasobów o nazwie ado-task-app-<build-id>-<build-number>
<container-app-name>-rg
, w której nie utworzono nowego obrazu, ale istniejący obraz o nazwie mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
będzie używany dla aplikacji kontenera. Dodatkowe właściwości aplikacji kontenera zostaną pobrane z simple-image-container-app.yaml
pliku 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/resourceGroup/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
configuration:
ingress:
external: true
allowInsecure: false
targetPort: 80
template:
containers:
- image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
name: mysampleimagecontainer
Wartości dla SUBSCRIPTION_ID
elementu i RESOURCE_GROUP
CONTAINER_APP_ENVIRONMENT
muszą zostać zaktualizowane w celu wskazania pełnego identyfikatora zasobu istniejącego środowiska aplikacji kontenera, którego będzie używać aplikacja kontenera.
Uwierzytelnianie przy użyciu poświadczeń usługi ACR
steps:
- task: AzureContainerApps@0
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 dostarczonego appSourcePath
i wypchniętego do udostępnionego 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@0
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 my-test-container-app-rg
grupy zasobów .
Podana grupa zasobów
steps:
- task: AzureContainerApps@0
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
. my-test-rg
Jeśli grupa zasobów nie istnieje, zostanie utworzona w ramach tego zadania.
Podana nazwa aplikacji kontenera i grupa zasobów
steps:
- task: AzureContainerApps@0
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
. my-test-rg
Jeśli grupa zasobów nie istnieje, zostanie utworzona w ramach tego zadania.
Udostępnione środowisko aplikacji kontenera
steps:
- task: AzureContainerApps@0
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@0
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 w nowej grupie zasobów o nazwie ado-task-app-<build-id>-<build-number>
<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@0
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 w nowej grupie zasobów o nazwie ado-task-app-<build-id>-<build-number>
<container-app-name>-rg
, w której utworzono obraz aplikacji z możliwością uruchomienia z test.Dockerfile
pliku znalezionego w podanym katalogu ścieżki źródłowej aplikacji.
Uwaga: w przypadku wartości podanych w pliku dockerfilePath
nie należy uwzględniać żadnych prefiksów plików (np../test.Dockerfile
należy przekazać jako tylko test.Dockerfile
). Podane appSourcePath
argumenty i dockerfilePath
zostaną łączone wewnątrz zadania.
Obraz do skompilowania udostępniony
steps:
- task: AzureContainerApps@0
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 ma nazwę mytestacr.azurecr.io/app:latest
.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadania | Wdróż |