Condividi tramite


AzureContainerApps@1 - Attività Distribuisci app di Azure Container v1

Attività Azure DevOps per compilare e distribuire app Azure Container.

Sintassi

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

Input

workingDirectory - Directory di lavoro
Alias di input: cwd. string.

Directory di lavoro corrente in cui viene eseguito lo script. Vuoto è la radice del repository (build) o degli artefatti (versione), ovvero $(System.DefaultWorkingDirectory).


appSourcePath - Percorso dell'origine dell'applicazione
string.

Percorso assoluto nel runner del codice dell'applicazione sorgente da compilare. Se non specificato, l'argomento 'imageToDeploy' deve essere fornito per assicurarsi che l'app contenitore disponga di un'immagine di riferimento.

Quando si esegue il push di una nuova immagine in ACR, acrName sono necessari gli input delle attività e appSourcePath .


azureSubscription - Connessione di Azure Resource Manager
Alias di input: connectedServiceNameARM. string. Obbligatorio.

Specificare una connessione al servizio Resource Manager di Azure per la distribuzione. Questa connessione al servizio deve essere collegata alla sottoscrizione di Azure dell'utente in cui verrà creata/aggiornata l'app contenitore. Questa connessione al servizio deve avere autorizzazioni appropriate per apportare queste modifiche all'interno della sottoscrizione, ad esempio ruolo Collaboratore.


acrName - Registro Azure Container nome
string.

Nome dell'Registro Azure Container a cui verrà eseguito il push dell'immagine dell'applicazione eseguibile.

Quando si esegue il push di una nuova immagine in ACR, acrName sono necessari gli input delle attività e appSourcePath .


acrUsername - nome utente Registro Azure Container
string.

Nome utente usato per autenticare le richieste push nel Registro di sistema di training di Azure specificato. Se non specificato, verrà generato un token di accesso tramite 'az acr login' e fornito a 'docker login' per autenticare le richieste.


acrPassword - Registro Azure Container password
string.

Password usata per autenticare le richieste push nel Registro di sistema di training di Azure specificato. Se non specificato, verrà generato un token di accesso tramite 'az acr login' e fornito a 'docker login' per autenticare le richieste.


dockerfilePath - Percorso Dockerfile
string.

Percorso relativo (_without prefissi di file (vedere gli esempi seguenti) al Dockerfile nell'origine dell'applicazione specificata che deve essere usata per compilare l'immagine che viene quindi eseguita il push nel registro azure container e distribuita nell'app contenitore. In caso contrario, questa attività verificherà se è presente un file denominato "Dockerfile" nella radice dell'origine dell'applicazione fornita e usarlo per compilare l'immagine. In caso contrario, verrà usato Oryx++ Builder per creare l'immagine.


imageToBuild - Immagine Docker da compilare
string.

Nome personalizzato dell'immagine che deve essere compilato, eseguito il push in Registro Azure Container e distribuito nell'app contenitore da questa attività. Nota: questo nome immagine deve includere il server ACR; Ad esempio, <acr-name>.azurecr.io/<repo>:<tag>. Se questo argomento non viene specificato, verrà costruito un nome immagine predefinito sotto forma di <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - Immagine Docker da distribuire
string.

Il nome dell'immagine che è già stato eseguito il push in ACR e verrà distribuito nell'app contenitore da questa attività. Nota: il nome dell'immagine deve includere il server ACR; Ad esempio, <acr-name>.azurecr.io/<repo>:<tag>. Se questo argomento non viene specificato, verrà usato il valore specificato (o determinato) per l'argomento 'imageToBuild'. Se questa immagine viene trovata in un'istanza del Registro Azure Container che richiede l'autenticazione per eseguire il pull, l'argomento acrName o gli acrUsername argomenti e acrPassword , può essere fornito per autenticare le richieste all'istanza del Registro Azure Container.


containerAppName - Nome dell'app Azure Container
string.

Nome dell'app Azure Container che verrà creata o aggiornata. Se non specificato, questo valore sarà sotto forma di ado-task-app-<build-id>-<build-number>.


resourceGroup - Nome del gruppo di risorse di Azure
string.

Il gruppo di risorse esistente in cui verrà creata l'app Azure Container (o attualmente esiste). Se non specificato, questo valore sarà sotto forma di <container-app-name>-rg.


containerAppEnvironment - Ambiente app Azure Container
string.

Nome dell'ambiente app Azure Container da usare con l'applicazione. Se non specificato, verrà usato un ambiente esistente nel gruppo di risorse dell'app contenitore, in caso contrario, verrà creato un ambiente nel formato di <container-app-name>-env.


runtimeStack - Stack di runtime dell'applicazione
string.

Stack di versioni della piattaforma usato nell'immagine dell'applicazione eseguibile finale distribuita nell'app contenitore. Il valore deve essere fornito nella formazione <platform>:<version>. Se non specificato, questo valore viene determinato da Oryx in base al contenuto dell'applicazione specificata. Per altre informazioni sugli stack di runtime supportati per Oryx, vedere questo documento .


targetPort - Porta di destinazione dell'applicazione
string.

Porta di destinazione in cui l'app contenitore sarà in ascolto. Se non specificato, questo valore sarà "80" per le applicazioni Python e "8080" per tutte le altre piattaforme supportate.


location - Posizione dell'app contenitore
string.

Il percorso in cui verrà distribuita l'app contenitore (e altre risorse create).


environmentVariables - Variabili di ambiente
string.

Elenco di variabili di ambiente per il contenitore. Valori separati da spazio nel formato 'key=value'. Stringa vuota per cancellare i valori esistenti. Valore prefisso con 'secretref:' per fare riferimento a un segreto.


ingress - Impostazione di ingresso
string.

Opzioni possibili: esterna, interna, disabilitata. Se impostato su external (valore predefinito se non specificato quando si crea un'app contenitore), l'app contenitore sarà visibile da Internet o da una rete virtuale, a seconda dell'endpoint dell'ambiente dell'app configurato. Se impostato su internal, l'app contenitore sarà visibile solo dall'ambiente dell'app. Se impostato su disabled, i dati in ingresso verranno disabilitati per questa app contenitore e non avranno un endpoint HTTP o TCP.


yamlConfigPath - Percorso file di configurazione YAML
string.

Percorso completo (nell'agente Azure Pipelines in esecuzione) nel file YAML che illustra in dettaglio la configurazione dell'app contenitore.

La proprietà nel file di configurazione YAML non verrà usata. Il resourceGroup valore per questo viene dall'argomento resourceGroup fornito all'attività o dal nome predefinito del gruppo di risorse generato dall'attività. Tutte le altre proprietà fornite nel file di configurazione YAML eseguiranno l'override dei valori forniti come argomenti per questa attività; ad esempio, se l'argomento containerAppName viene fornito all'attività e la proprietà è impostata nel file di configurazione YAML, la namename proprietà nel file YAML verrà usata durante la creazione o l'aggiornamento dell'app contenitore.

Gli argomenti di origine dell'immagine e dell'applicazione (ad esempio , appSourcePath, ) verranno comunque usati per la prima compilazione e/o il push di un'immagine usata dall'app contenitore. In questo caso, il file di configurazione YAML fornito dovrà fare riferimento all'immagine specificata da imageToDeploy (o imageToBuild, imageToDeploya seconda dello scenario).

Quando si crea una nuova app contenitore, tutte le proprietà elencate nel file di configurazione YAML (tranne resourceGroup quanto indicato in precedenza) verranno impostate quando viene creata l'app contenitore. Quando si aggiorna un'app contenitore esistente, verranno aggiornate solo le proprietà elencate nel file nell'app contenitore.

Attualmente, il file YAML non supporta la configurazione dell'autenticazione dell'identità gestita per il registro contenitori usato; per altre informazioni su questo problema, vedere questo problema di GitHub.

Nei casi in cui viene fornito l'argomento yamlConfigPath , il file YAML verrà passato al comando corrispondente az containerapp , create oupdate a seconda dello scenario. Per altre informazioni sul comportamento previsto quando viene fornito il file di configurazione YAML, vedere i documenti collegati per i comandi corrispondenti.

Per altre informazioni sulla struttura del file di configurazione YAML, visitare questo sito.


disableTelemetry - Disabilitare i dati di telemetria
boolean.

Se impostato su 'true', non verranno raccolti dati di telemetria da questa attività Azure DevOps. Se impostato su "false" o se questo argomento non viene fornito, i dati di telemetria verranno inviati a Microsoft per la compilazione e la distribuzione dello scenario di distribuzione dell'app contenitore destinati a questa attività Azure DevOps.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Questa attività di Azure Pipelines consente agli utenti di distribuire facilmente l'origine dell'applicazione in un'app Azure Container nel flusso di lavoro di Azure Pipelines fornendo un'immagine compilata in precedenza, un Dockerfile da cui può essere compilata un'immagine o usando un generatore per creare un'immagine dell'applicazione runnable per l'utente.

L'attività include i due modelli di utilizzo seguenti.

  • Push di un'immagine in Registro Azure Container : quando si esegue il push di una nuova immagine in Registro Azure Container, acrName sono necessari gli input delle attività e appSourcePath .
  • Distribuzione di un'immagine push precedentemente: quando si distribuisce un'immagine push precedentemente , è necessario l'input dell'attività imageToDeploy . Se questa immagine viene trovata in un'istanza del Registro Azure Container che richiede l'autenticazione per eseguire il pull, l'argomento acrName o gli acrUsername argomenti e acrPassword , può essere fornito per autenticare le richieste all'istanza del Registro Azure Container.

Nota

Anche se nessun input attività è contrassegnato ufficialmente come "obbligatorio" nei metadati di questa attività, alcuni input dovranno essere forniti per poter eseguire correttamente questa attività usando uno dei due pattenr di utilizzo principale.

Se non viene trovato alcun Dockerfile o fornito nell'origine dell'applicazione specificata, i passaggi seguenti vengono eseguiti da questa attività:

  • Usa Oryx++ Builder per compilare l'origine dell'applicazione usando Oryx per produrre un'immagine dell'applicazione eseguibile
  • Esegue il push dell'immagine dell'applicazione eseguibile nel Registro Azure Container fornito
  • Crea o aggiorna un'app contenitore in base a questa immagine

Se un Dockerfile viene trovato o individuato nell'origine dell'applicazione, il generatore non verrà usato e l'immagine verrà compilata con una chiamata a e l'app contenitore verrà creata o aggiornata in base a docker build questa immagine.

Se è già stato eseguito il push di un'immagine compilata in precedenza nell'istanza del Registro Azure Container e viene fornita a questa attività, non è necessaria alcuna origine dell'applicazione e l'immagine verrà usata durante la creazione o l'aggiornamento dell'app contenitore.

Esecuzione di questa attività sugli agenti ospitati da Microsoft

Se si esegue questa attività in un agente ospitato da Microsoft, è possibile che questa attività non sia in grado di essere eseguita correttamente con i sistemi operativi seguenti:

  • macOS
    • Gli strumenti di esecuzione macOS forniti da Microsoft non sono installati con Docker (altre informazioni qui); di conseguenza, questa attività non è in grado di eseguire comandi docker , ad esempio il push delle immagini dell'applicazione eseguibili compilate in Registro Azure Container.
  • Windows
    • Gli strumenti di esecuzione di Windows forniti da Microsoft sono installati con Docker, ma per impostazione predefinita, le immagini basate su Linux non possono essere trascinate verso il basso; di conseguenza, questa attività non è in grado di eseguire il pull down del generatore Oryx per creare immagini dell'applicazione eseguibili dall'origine applicazione fornita.

Per altre informazioni, vedere la sezione seguente dei prerequisiti di Docker .

Avviso sulla raccolta di dati/telemetria

Per impostazione predefinita, questa attività di Azure DevOps raccoglie le parti di dati seguenti per Microsoft:

  • Scenario di compilazione e distribuzione dell'app contenitore destinato all'utente
    • Ad esempio, è stato usato oryx++ Builder, usato un Dockerfile fornito/trovato o fornito un'immagine compilata in precedenza
    • Nota: il nome dell'immagine non viene raccolto
  • Tempo di elaborazione dell'attività, espresso in millisecondi
  • Risultato dell'attività
    • ad esempio, riuscito o non riuscito
  • Se si usa Oryx++ Builder, eventi e metriche relativi alla compilazione dell'applicazione fornita tramite Oryx

Se si vuole disabilitare la raccolta dati, impostare l'argomento disableTelemetry su true.

Prerequisiti

Prima di eseguire questa attività, le risorse di Azure e una connessione al servizio Azure DevOps sono obbligatorie o facoltative a seconda degli argomenti forniti a questa attività.

Connessione al servizio Azure DevOps

Per eseguire la distribuzione in Azure, è necessario collegare una sottoscrizione di Azure a Team Foundation Server o ad Azure Pipelines usando la scheda Servizi nella sezione delle impostazioni. Aggiungere la sottoscrizione di Azure da usare nella definizione Compila o Release Management aprendo la schermata Amministrazione account (icona a forma di ingranaggio nella parte superiore destra della schermata) e quindi fare clic sulla scheda Servizi.

Creare l'endpoint del servizio ARM e usare il tipo di endpoint "Azure Resource Manager". Per altre informazioni sulla creazione di connessioni al servizio, seguire questo documento.

Interfaccia della riga di comando di Azure

Questa attività richiede che l'interfaccia della riga di comando di Azure sia installata nell'agente di Azure Pipelines per eseguire un'ampia gamma di comandi durante l'esecuzione dell'attività. Per altre informazioni su come installare l'interfaccia della riga di comando di Azure nell'agente, vedere questo documento. Se un agente è già in esecuzione nel computer in cui è installata l'interfaccia della riga di comando di Azure, assicurarsi di riavviare l'agente in modo che tutte le variabili di ambiente pertinenti vengano aggiornate.

Docker

Questa attività richiede che Docker sia installato nell'agente di Azure Pipelines per eseguire il push delle immagini nel Registro Azure Container fornito. Per altre informazioni su come installare Docker nell'agente, vedere questo documento.

Inoltre, gli utenti che eseguono questa attività con un agente Windows possono riscontrare un problema con non essere in grado di eseguire il pull delle immagini basate su Linux; per risolvere questo problema, visitare questo sito o trovare il file nell'agente DockerCli.exeProgram Files\Docker\Docker (in genere nella cartella) ed eseguire

& `.\DockerCli.exe` -SwitchDaemon

Se Docker non è installato nell'agente che esegue questa attività, gli scenari seguenti sono ancora abilitati:

  • Fornire un'immagine compilata in precedenza all'argomento imageToDeploy con cui viene distribuita l'app contenitore

Se Docker si trova nell'agente, ma non è possibile usare le immagini basate su Linux, gli scenari seguenti sono ancora abilitati:

  • Fornire un'immagine compilata in precedenza all'argomento imageToDeploy con cui viene distribuita l'app contenitore
  • Specificare come Dockerfile parte dell'origine dell'applicazione che verrà compilata e distribuita con l'app contenitore
    • Nota: non Dockerfile può avere livelli di immagine basati su Linux

Interfaccia della riga di comando di Pack

L'interfaccia della riga di comando pack viene gestita dal progetto Buildpacks nativo del cloud e viene usata da questa attività per creare immagini dell'applicazione eseguibili per l'utente quando viene fornito il codice sorgente dell'applicazione e non viene fornito o trovato alcun Dockerfile aggiuntivo. Un generatore è stato creato da Oryx per acquisire il codice sorgente dell'applicazione fornito a questa attività e produrre un'immagine che potrebbe quindi essere inserita in un registro immagini e usata all'interno di un'app contenitore per compilare ed eseguire l'applicazione.

Una versione stabile dell'interfaccia della riga di comando pack viene installata nell'agente di Azure Pipelines che esegue l'attività e, a seconda del sistema operativo di base di questo agente, verranno usati diversi strumenti per facilitare l'installazione:

  • Nei runner di Windows:
    • Per eseguire le operazioni seguenti, viene eseguito un set di comandi di PowerShell:
      • Crea una pack cartella nella cartella temporanea dell'agente, se la pack cartella non esiste già
      • Scarica l'interfaccia della riga di comando .zip del pacchetto in questa pack cartella
      • Decomprime il contenuto da questo .zip e li inserisce nella pack cartella
      • Elimina l'oggetto .zip
  • Nei runner non Windows:
    • curl verrà usato per eseguire il pull down dell'eseguibile .tgz contenente il pack file eseguibile
    • tar verrà usato per decomprimere e .tgz inserire il pack file eseguibile in /usr/local/bin

Registro Azure Container

È necessario che esista un Registro Azure Container in cui l'utente sia in grado di eseguire il push delle immagini del contenitore. Questa attività userà il Registro Azure Container per eseguire il push di un'immagine di applicazione eseguibile compilata in e/o distribuire un'app contenitore da.

Il nome del Registro Azure Container è obbligatorio tramite l'argomento acrName .

L'utente può anche fornire valori per gli acrUsername argomenti e acrPassword che autenticano le chiamate all'istanza di Registro Azure Container. In caso contrario, verrà generato un token di accesso tramite l'interfaccia della riga di comando di Azure che autentica le chiamate.

Ambiente dell'app Azure Container

È consigliabile creare un ambiente dell'app Contenitore di Azure in precedenza dall'utente per migliorare le prestazioni dell'attività. Se non è stato creato alcun ambiente in precedenza o se non è possibile trovare un ambiente nel gruppo di risorse usato per ospitare l'app contenitore creata, verrà creato un ambiente come parte del az containerapp up comando, che potrebbe richiedere tempo aggiuntivo.

Esempio

Gli esempi seguenti illustrano come usare in AzureContainerApps scenari diversi.

Minimo : creare l'immagine dell'applicazione per l'app contenitore

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

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg. L'app contenitore verrà basata su un'immagine creata dall'oggetto fornito appSourcePath e inserita nell'istanza del Registro Azure Container fornita. Verrà generato un token di accesso per autenticare il push nell'istanza del Registro Azure Container fornita.

Minimo : usare un'immagine pubblicata in precedenza per l'app contenitore

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

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg in cui non viene compilata alcuna nuova immagine, ma verrà usata un'immagine esistente denominata mcr.microsoft.com/azuredocs/containerapps-helloworld:latest per l'app contenitore.

Minimo : usare il file di configurazione YAML con l'immagine pubblicata in precedenza per l'app contenitore

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

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg in cui non viene compilata alcuna nuova immagine, ma verrà usata un'immagine esistente denominata mcr.microsoft.com/azuredocs/containerapps-helloworld:latest per l'app contenitore. Le proprietà aggiuntive sull'app contenitore verranno estratte dal simple-image-container-app.yaml file e sostituiranno tutti i valori aggiuntivi che sarebbero stati forniti all'attività come argomenti esclusi resourceGroupda .

Il simple-image-container-app.yaml file ha la struttura seguente:

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

I valori per SUBSCRIPTION_IDRESOURCE_GROUP e CONTAINER_APP_ENVIRONMENT devono essere aggiornati in modo che puntino all'ID risorsa completo dell'ambiente dell'app contenitore esistente che verrà usata dall'app contenitore.

Uso delle credenziali del Registro Azure Container per l'autenticazione

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)

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg. L'app contenitore verrà basata su un'immagine creata dall'oggetto fornito appSourcePath e inserita nell'istanza del Registro Azure Container fornita. Le credenziali del Registro Azure Container fornite verranno usate per autenticare le chiamate all'istanza di Registro Azure Container.

Nome app contenitore fornito

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'

Verrà creata una nuova app contenitore denominata my-test-container-app in un nuovo nome my-test-container-app-rgdi gruppo di risorse.

Gruppo di risorse fornito

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'

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un gruppo di risorse denominato my-test-rg. Se il my-test-rg gruppo di risorse non esiste, verrà creato come parte di questa attività.

Nome dell'app contenitore e gruppo di risorse forniti

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'

Verrà creata una nuova app contenitore denominata my-test-container-app in un gruppo di risorse denominato my-test-rg. Se il my-test-rg gruppo di risorse non esiste, verrà creato come parte di questa attività.

Ambiente app contenitore fornito

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'

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg con un nuovo ambiente app contenitore denominato my-test-container-app-env.

Stack di runtime fornito

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'

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg in cui l'immagine dell'applicazione eseguibile usa lo stack di runtime .NET 7.

Dockerfile fornito

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

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg in cui è stata creata l'immagine dell'applicazione eseguibile dal test.Dockerfile file trovato nella directory del percorso di origine dell'applicazione specificata.

Nota: per i valori forniti a dockerfilePath, non è necessario includere prefissi di file( ad esempio, ./test.Dockerfile deve essere passato come solo test.Dockerfile). appSourcePath Gli argomenti specificati e dockerfilePath verranno concatenati all'interno dell'attività.

Immagine da compilare fornita

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'

Verrà creata una nuova app contenitore denominata ado-task-app-<build-id>-<build-number> in un nuovo gruppo di risorse denominato <container-app-name>-rg in cui l'immagine compilata e inserita nel Registro Azure Container è denominata mytestacr.azurecr.io/app:latest.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.144.0 o versione successiva
Categoria attività Distribuisci

Vedi anche