Share via


AzureContainerApps@0 - Azure Container Apps v0-taak implementeren

Een Azure DevOps-taak voor het bouwen en implementeren van Azure Container Apps.

Syntax

# 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.

Invoerwaarden

workingDirectory - Werkmap
Invoeralias: cwd. string.

Huidige werkmap waarin het script wordt uitgevoerd. Leeg is de hoofdmap van de opslagplaats (build) of artefacten (release), namelijk $(System.DefaultWorkingDirectory).


appSourcePath - Pad naar toepassingsbron
string.

Absoluut pad op de runner van de broncode die moet worden gebouwd. Indien niet opgegeven, moet het argument 'imageToDeploy' worden opgegeven om ervoor te zorgen dat de container-app een installatiekopie heeft waarnaar moet worden verwezen.

Wanneer u een nieuwe installatiekopie naar ACR pusht, zijn de acrName taakinvoer en appSourcePath vereist.


azureSubscription - Azure Resource Manager-verbinding
Invoeralias: connectedServiceNameARM. string. Vereist.

Geef een Azure Resource Manager-serviceverbinding op voor de implementatie. Deze serviceverbinding moet worden gekoppeld aan het Azure-abonnement van de gebruiker waar de container-app wordt gemaakt/bijgewerkt. Deze serviceverbinding moet de juiste machtigingen hebben om deze wijzigingen in het abonnement aan te brengen, bijvoorbeeld de rol Inzender.


acrName - Azure Container Registry naam
string.

De naam van de Azure Container Registry waarnaar de uitvoerbare toepassingsinstallatiekopieën worden gepusht.

Wanneer u een nieuwe installatiekopie naar ACR pusht, zijn de acrName taakinvoer en appSourcePath vereist.


acrUsername - gebruikersnaam Azure Container Registry
string.

De gebruikersnaam die wordt gebruikt voor het verifiëren van pushaanvragen voor het opgegeven Azure Contrainer-register. Als dit niet wordt opgegeven, wordt er een toegangstoken gegenereerd via 'az acr login' en doorgegeven aan 'docker login' om de aanvragen te verifiëren.


acrPassword - Azure Container Registry wachtwoord
string.

Het wachtwoord dat wordt gebruikt voor het verifiëren van pushaanvragen voor het opgegeven Azure Contrainer-register. Als dit niet wordt opgegeven, wordt er een toegangstoken gegenereerd via 'az acr login' en doorgegeven aan 'docker login' om de aanvragen te verifiëren.


dockerfilePath - Pad naar Dockerfile
string.

Relatief pad (_without bestandsvoorvoegsels (zie de volgende voorbeelden) naar het Dockerfile in de opgegeven toepassingsbron dat moet worden gebruikt voor het bouwen van de installatiekopie die vervolgens naar ACR wordt gepusht en geïmplementeerd in de Container App. Als deze taak niet is opgegeven, wordt gecontroleerd of er een bestand met de naam Dockerfile in de hoofdmap van de opgegeven toepassingsbron staat en wordt dit gebruikt om de installatiekopieën te bouwen. Anders wordt de Oryx++ Builder gebruikt om de installatiekopie te maken.


imageToBuild - Docker-installatiekopieën die moeten worden gebouwd
string.

De aangepaste naam van de installatiekopie die moet worden gemaakt, gepusht naar ACR en door deze taak moet worden geïmplementeerd in de Container App. Opmerking: deze naam van de installatiekopieën moet de ACR-server bevatten; bijvoorbeeld <acr-name>.azurecr.io/<repo>:<tag>. Als dit argument niet wordt opgegeven, wordt een standaardnaam voor de installatiekopieën gemaakt in de vorm van <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - Te implementeren Docker-installatiekopieën
string.

De naam van de installatiekopie die al naar ACR is gepusht en door deze taak wordt geïmplementeerd in de Container App. Opmerking: de naam van de installatiekopieën moet de ACR-server bevatten; bijvoorbeeld <acr-name>.azurecr.io/<repo>:<tag>. Als dit argument niet wordt opgegeven, wordt de opgegeven waarde (of bepaald) voor het argument 'imageToBuild' gebruikt. Als deze installatiekopie wordt gevonden in een ACR-exemplaar waarvoor verificatie is vereist voor pull, kan het acrName argument of de acrUsername argumenten en acrPassword worden opgegeven om aanvragen voor het ACR-exemplaar te verifiëren.


containerAppName - Naam van Azure Container App
string.

De naam van de Azure Container App die wordt gemaakt of bijgewerkt. Als deze waarde niet wordt opgegeven, heeft deze de vorm .ado-task-app-<build-id>-<build-number>


resourceGroup - Naam van Azure-resourcegroep
string.

De resourcegroep waarin de Azure Container App wordt gemaakt (of waarin momenteel bestaat). Als deze waarde niet wordt opgegeven, heeft deze de vorm .<container-app-name>-rg


containerAppEnvironment - Azure Container App-omgeving
string.

De naam van de Azure Container App-omgeving die moet worden gebruikt met de toepassing. Als deze niet wordt opgegeven, wordt een bestaande omgeving in de resourcegroep van de Container App gebruikt. Anders wordt er een omgeving gemaakt in de indeling .<container-app-name>-env


runtimeStack - Runtimestack van toepassing
string.

De platformversiestack die wordt gebruikt in de uiteindelijke uitvoerbare toepassingsinstallatiekopie die is geïmplementeerd in de Container App. De waarde moet worden opgegeven in de formatie <platform>:<version>. Als deze waarde niet wordt opgegeven, wordt deze waarde bepaald door Oryx op basis van de inhoud van de opgegeven toepassing. Raadpleeg dit document voor meer informatie over ondersteunde runtimestacks voor Oryx.


targetPort - Doelpoort van toepassing
string.

De doelpoort waarop de Container App luistert. Als deze waarde niet wordt opgegeven, is deze waarde '80' voor Python-toepassingen en '8080' voor alle andere ondersteunde platforms.


location - Locatie van de container-app
string.

De locatie waarop de container-app (en andere gemaakte resources) worden geïmplementeerd.


environmentVariables - Omgevingsvariabelen
string.

Een lijst met omgevingsvariabelen voor de container. Door spaties gescheiden waarden in de indeling 'key=value'. Lege tekenreeks om bestaande waarden te wissen. Voorvoegselwaarde met 'secretref:' om te verwijzen naar een geheim.


ingress - Instelling voor inkomend verkeer
string.

Mogelijke opties: extern, intern, uitgeschakeld. Als dit is ingesteld op external (standaardwaarde als deze niet wordt opgegeven bij het maken van een container-app), is de container-app zichtbaar vanaf internet of een VNET, afhankelijk van het geconfigureerde eindpunt van de app-omgeving. Als deze optie is ingesteld op internal, is de container-app alleen zichtbaar vanuit de app-omgeving. Als deze optie is ingesteld op disabled, wordt inkomend verkeer uitgeschakeld voor deze container-app en heeft deze geen HTTP- of TCP-eindpunt.


yamlConfigPath - Pad naar YAML-configuratiebestand
string.

Volledig pad (op de uitvoerende Azure Pipelines-agent) naar het YAML-bestand met de configuratie van de Container App.

De resourceGroup eigenschap in het YAML-configuratiebestand wordt niet gebruikt. De waarde hiervoor is afkomstig van het resourceGroup argument dat is opgegeven voor de taak of de standaardresourcegroepnaam die door de taak wordt gegenereerd. Alle andere eigenschappen in het YAML-configuratiebestand overschrijven de waarden die zijn opgegeven als argumenten voor deze taak; Als het containerAppName argument bijvoorbeeld is opgegeven voor de taak en de name eigenschap is ingesteld in het YAML-configuratiebestand, wordt de name eigenschap in het YAML-bestand gebruikt bij het maken of bijwerken van de Container App.

Argumenten voor installatiekopieën en toepassingsbronnen (bijvoorbeeldappSourcePath , imageToDeploy) worden nog steeds gebruikt om eerst een installatiekopieën te bouwen en/of te pushen die wordt gebruikt door de Container App. In dit geval moet het opgegeven YAML-configuratiebestand verwijzen naar de installatiekopieën die zijn opgegeven door imageToDeploy (of imageToBuild, afhankelijk van uw scenario).

Wanneer u een nieuwe container-app maakt, worden alle eigenschappen die worden vermeld in het YAML-configuratiebestand (behalve resourceGroup zoals hierboven vermeld) ingesteld wanneer de container-app wordt gemaakt. Wanneer u een bestaande container-app bijwerkt, worden alleen de eigenschappen die in het bestand worden vermeld, bijgewerkt in de container-app.

Momenteel biedt het YAML-bestand geen ondersteuning voor het instellen van verificatie van beheerde identiteiten voor het gebruikte containerregister. Zie dit GitHub-probleem voor meer informatie over dit probleem.

In gevallen waarin het yamlConfigPath argument wordt opgegeven, wordt het YAML-bestand doorgegeven aan de bijbehorende az containerapp opdracht, of createupdate afhankelijk van uw scenario. Zie de documenten die zijn gekoppeld voor de bijbehorende opdrachten voor meer informatie over het beoogde gedrag wanneer het YAML-configuratiebestand wordt opgegeven.

Ga naar deze site voor meer informatie over de structuur van het YAML-configuratiebestand.


disableTelemetry - Telemetrie uitschakelen
boolean.

Als deze optie is ingesteld op 'true', wordt er geen telemetrie verzameld door deze Azure DevOps-taak. Als deze optie is ingesteld op 'false' of als dit argument niet wordt opgegeven, wordt er telemetrie naar Microsoft verzonden over het scenario voor het bouwen en implementeren van container-apps waarop deze Azure DevOps-taak is gericht.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Met deze Azure Pipelines-taak kunnen gebruikers eenvoudig hun toepassingsbron implementeren in een Azure Container App in hun Azure Pipelines-werkstroom door een eerder gebouwde installatiekopie op te geven, een Dockerfile op te geven waaruit een installatiekopie kan worden gemaakt of door een opbouwfunctie te gebruiken om een uitvoerbare toepassingsinstallatiekopie voor de gebruiker te maken.

De taak heeft de volgende twee gebruikspatronen.

  • Een installatiekopie naar ACR pushen : wanneer u een nieuwe installatiekopie naar ACR pusht, zijn de acrName taakinvoer en appSourcePath vereist.
  • Een eerder gepushte installatiekopie implementeren: wanneer u een eerder gepushte installatiekopie implementeert, is de imageToDeploy taakinvoer vereist. Als deze installatiekopie wordt gevonden in een ACR-exemplaar waarvoor verificatie is vereist voor pull, kan het acrName argument of de acrUsername argumenten en acrPassword worden opgegeven om aanvragen voor het ACR-exemplaar te verifiëren.

Notitie

Hoewel er geen taakinvoer officieel als 'vereist' is gemarkeerd in de metagegevens van deze taak, moeten sommige invoergegevens worden opgegeven om deze taak te kunnen uitvoeren met een van de twee belangrijkste gebruiksparameters.

Als er geen Dockerfile wordt gevonden of opgegeven in de opgegeven toepassingsbron, worden de volgende stappen uitgevoerd door deze taak:

  • Gebruikt de Oryx++ Builder om de toepassingsbron te bouwen met behulp van Oryx om een uitvoerbare toepassingsinstallatiekopie te produceren
  • Pusht deze uitvoerbare toepassingsinstallatiekopieën naar de opgegeven Azure Container Registry
  • Een container-app maken of bijwerken op basis van deze installatiekopieën

Als er een Dockerfile wordt gevonden of gedetecteerd in de toepassingsbron, wordt de opbouwfunctie niet gebruikt en wordt de installatiekopieën gebouwd met een aanroep naar docker build en wordt de container-app gemaakt of bijgewerkt op basis van deze installatiekopieën.

Als een eerder gemaakte installatiekopie al naar het ACR-exemplaar is gepusht en aan deze taak wordt geleverd, is er geen toepassingsbron vereist en wordt de installatiekopie gebruikt bij het maken of bijwerken van de container-app.

Deze taak uitvoeren op door Microsoft gehoste agents

Als u deze taak uitvoert op een door Microsoft gehoste agent, kan deze taak mogelijk niet worden uitgevoerd met de volgende besturingssystemen:

  • macOS
    • De macOS-runners van Microsoft worden niet geleverd met Docker ( meer informatie hier); als gevolg hiervan kan deze taak geen docker opdrachten uitvoeren, zoals het pushen van de ingebouwde uitvoerbare toepassingsinstallatiekopieën naar ACR.
  • Windows
    • De Windows-runners van Microsoft worden geleverd met Docker geïnstalleerd, maar standaard kunnen installatiekopieën op basis van Linux niet worden opgehaald; als gevolg hiervan kan deze taak de Oryx-opbouwfunctie niet ophalen om uitvoerbare toepassingsinstallatiekopieën te maken van de opgegeven toepassingsbron.

Zie de onderstaande sectie met Docker-vereisten voor meer informatie.

Kennisgeving over gegevens-/telemetrieverzameling

Deze Azure DevOps-taak verzamelt standaard de volgende gegevens voor Microsoft:

  • Het scenario voor het bouwen en implementeren van container-apps waarop de gebruiker is gericht
    • d.w., de Oryx++-opbouwfunctie gebruikt, een opgegeven/gevonden Dockerfile gebruikt of een eerder gebouwde installatiekopie verstrekt
    • Opmerking: de naam van de afbeelding wordt niet verzameld
  • De verwerkingstijd van de taak, in milliseconden
  • Het resultaat van de taak
    • d.w., geslaagd of mislukt
  • Als de Oryx++ Builder wordt gebruikt, gebeurtenissen en metrische gegevens met betrekking tot het bouwen van de opgegeven toepassing met behulp van Oryx

Als u het verzamelen van gegevens wilt uitschakelen, stelt u het disableTelemetry argument in op true.

Vereisten

Voordat u deze taak uitvoert, zijn Azure-resources en een Azure DevOps-serviceverbinding vereist of optioneel, afhankelijk van de argumenten die voor deze taak zijn opgegeven.

Azure DevOps-serviceverbinding

Als u wilt implementeren in Azure, moet een Azure-abonnement worden gekoppeld aan Team Foundation Server of aan Azure Pipelines met behulp van het tabblad Services in de sectie Instellingen. Voeg het Azure-abonnement toe dat moet worden gebruikt in de definitie van build- of releasebeheer door het scherm Accountbeheer te openen (tandwielpictogram in de rechterbovenhoek van het scherm) en vervolgens op het tabblad Services te klikken.

Maak het ARM-service-eindpunt en gebruik het eindpunttype 'Azure Resource Manager'. Volg dit document voor meer informatie over het maken van serviceverbindingen.

Azure CLI

Voor deze taak moet de Azure CLI zijn geïnstalleerd op de Azure Pipelines-agent om verschillende opdrachten uit te voeren tijdens de uitvoering van de taak. Raadpleeg dit document voor meer informatie over het installeren van de Azure CLI op de agent. Als er al een agent wordt uitgevoerd op de computer waarop de Azure CLI is geïnstalleerd, moet u ervoor zorgen dat u de agent opnieuw start, zodat alle relevante omgevingsvariabelen worden bijgewerkt.

Docker

Voor deze taak moet Docker zijn geïnstalleerd op de Azure Pipelines-agent om installatiekopieën naar de opgegeven Azure Container Registry te pushen. Raadpleeg dit document voor meer informatie over het installeren van Docker op de agent.

Bovendien kunnen gebruikers die deze taak uitvoeren met een Windows-agent een probleem ondervinden met het niet kunnen ophalen van linux-installatiekopieën; om dit op te lossen, gaat u naar deze site of bevindt u het DockerCli.exe bestand op uw agent (meestal in de map) en voert u het Program Files\Docker\Docker uit

& `.\DockerCli.exe` -SwitchDaemon

Als Docker niet is geïnstalleerd op de agent die deze taak uitvoert, zijn de volgende scenario's nog steeds ingeschakeld:

  • Een eerder gemaakte installatiekopieën opgeven voor het imageToDeploy argument waarmee de container-app wordt geïmplementeerd

Als Docker zich op de agent bevindt, maar niet kan werken met Linux-installatiekopieën, zijn de volgende scenario's nog steeds ingeschakeld:

  • Een eerder gemaakte installatiekopieën opgeven voor het imageToDeploy argument waarmee de container-app wordt geïmplementeerd
  • Een Dockerfile opgeven als onderdeel van uw toepassingsbron die wordt gebouwd en geïmplementeerd met de container-app
    • Opmerking: de Dockerfile kan geen op Linux gebaseerde installatiekopieënlaag hebben

CLI inpakken

De CLI van het pakket wordt onderhouden door het Cloud Native Buildpacks-project en wordt door deze taak gebruikt om uitvoerbare toepassingsinstallatiekopieën voor de gebruiker te maken wanneer de broncode van de toepassing wordt opgegeven en er geen extra Dockerfile wordt opgegeven of gevonden. Er is een opbouwfunctie gemaakt door Oryx om de broncode van de toepassing op te nemen die voor deze taak is opgegeven en een installatiekopie te produceren die vervolgens naar een installatiekopieregister kan worden gepusht en in een container-app kan worden gebruikt om de toepassing te bouwen en uit te voeren.

Er wordt een stabiele versie van de PAKKET-CLI geïnstalleerd op de Azure Pipelines-agent die de taak uitvoert. Afhankelijk van het basisbesturingssysteem van deze agent worden verschillende hulpprogramma's gebruikt om te helpen bij de installatie:

  • Op Windows-runners:
    • Een set PowerShell-opdrachten wordt uitgevoerd om het volgende te doen:
      • Hiermee maakt u een pack map in de tijdelijke map van de agent, als de pack map nog niet bestaat
      • Downloadt de PAKKET-CLI .zip naar deze pack map
      • Pakt de inhoud hiervan .zip uit en plaatst deze in de pack map
      • Hiermee verwijdert u de .zip
  • Op niet-Windows-runners:
    • curl wordt gebruikt om de .tgz met het pack uitvoerbare bestand op te halen
    • tar wordt gebruikt om de .tgz uit te pakken en het pack uitvoerbare bestand in /usr/local/bin

Azure Container Registry

Er moet een Azure Container Registry bestaan waarnaar de gebruiker containerinstallatiekopieën kan pushen. Deze taak maakt gebruik van de Azure Container Registry om een ingebouwde uitvoerbare toepassingsinstallatiekopieën te pushen naar en/of een container-app te implementeren.

De naam van de Azure Container Registry is vereist via het acrName argument.

De gebruiker kan ook waarden opgeven voor de acrUsername argumenten en acrPassword waarmee aanroepen naar het Azure Container Registry-exemplaar worden geverifieerd. Als dit niet is opgegeven, wordt er een toegangstoken gegenereerd via de Azure CLI waarmee de aanroepen in plaats daarvan worden geverifieerd.

Azure Container App-omgeving

Een Azure Container App-omgeving wordt aanbevolen om eerder door de gebruiker te zijn gemaakt om de prestaties van de taak te verbeteren. Als er nog geen omgeving is gemaakt of als er geen omgeving kan worden gevonden in de resourcegroep die wordt gebruikt om de gemaakte Container App te hosten, wordt er een omgeving gemaakt door als onderdeel van de az containerapp up opdracht, wat extra tijd kan duren.

Voorbeelden

In de volgende voorbeelden wordt beschreven hoe u de AzureContainerApps in verschillende scenario's gebruikt.

Minimaal: toepassingsinstallatiekopieën bouwen voor Container App

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

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg. De container-app wordt gebaseerd op een installatiekopieën die is gebouwd op basis van de opgegeven appSourcePath en naar het opgegeven ACR-exemplaar is gepusht. Er wordt een toegangstoken gegenereerd om de push naar het opgegeven ACR-exemplaar te verifiëren.

Minimaal: eerder gepubliceerde installatiekopieën gebruiken voor Container App

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg waar geen nieuwe installatiekopieën worden gemaakt, maar er wordt een bestaande installatiekopieën met de naam mcr.microsoft.com/azuredocs/containerapps-helloworld:latest gebruikt voor de container-app.

Minimaal: YAML-configuratiebestand gebruiken met eerder gepubliceerde installatiekopieën voor Container App

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

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg waar geen nieuwe installatiekopieën worden gemaakt, maar er wordt een bestaande installatiekopieën met de naam mcr.microsoft.com/azuredocs/containerapps-helloworld:latest gebruikt voor de container-app. Aanvullende eigenschappen over de container-app worden opgehaald uit het simple-image-container-app.yaml bestand en overschrijven eventuele aanvullende waarden die aan de taak zouden zijn opgegeven als argumenten , met uitzondering resourceGroupvan .

Het simple-image-container-app.yaml bestand heeft de volgende structuur:

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

De waarden voor SUBSCRIPTION_ID, RESOURCE_GROUP en CONTAINER_APP_ENVIRONMENT moeten worden bijgewerkt om te verwijzen naar de volledige resource-id van de bestaande Container App-omgeving die door de Container App wordt gebruikt.

ACR-referenties gebruiken om te verifiëren

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)

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg. De container-app wordt gebaseerd op een installatiekopieën die is gebouwd op basis van de opgegeven appSourcePath en naar het opgegeven ACR-exemplaar is gepusht. De opgegeven ACR-referenties worden gebruikt om aanroepen naar het ACR-exemplaar te verifiëren.

Opgegeven container-app-naam

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'

Hiermee maakt u een nieuwe container-app met de naam my-test-container-app in een nieuwe resourcegroepnaam my-test-container-app-rg.

Resourcegroep opgegeven

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'

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een resourcegroep met de naam my-test-rg. Als de my-test-rg resourcegroep niet bestaat, wordt deze gemaakt als onderdeel van deze taak.

Opgegeven container-app-naam en resourcegroep

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'

Hiermee maakt u een nieuwe container-app met de naam my-test-container-app in een resourcegroep met de naam my-test-rg. Als de my-test-rg resourcegroep niet bestaat, wordt deze gemaakt als onderdeel van deze taak.

Opgegeven Container App-omgeving

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'

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg met een nieuwe Container App-omgeving met de naam my-test-container-app-env.

Runtimestack opgegeven

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'

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg waar de uitvoerbare toepassingsinstallatiekopieën gebruikmaken van de .NET 7-runtimestack.

Dockerfile opgegeven

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

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg waar de uitvoerbare toepassingsinstallatiekopieën zijn gemaakt op basis van het test.Dockerfile bestand in de opgegeven bronpadmap van de toepassing.

Opmerking: voor waarden die worden opgegeven aan dockerfilePath, moeten geen bestandsvoorvoegsels worden opgenomen (bijvoorbeeld./test.Dockerfile moeten worden doorgegeven als alleen test.Dockerfile). De opgegeven appSourcePath argumenten en dockerfilePath worden samengevoegd in de taak.

Installatiekopieën die moeten worden gebouwd

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'

Hiermee maakt u een nieuwe container-app met de naam ado-task-app-<build-id>-<build-number> in een nieuwe resourcegroep met de naam <container-app-name>-rg waarin de installatiekopieën die zijn gebouwd en naar ACR worden gepusht, de naam mytestacr.azurecr.io/app:latesthebben.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.144.0 of hoger
Taakcategorie Implementeren

Zie ook