AzureContainerApps@0 - Attività Distribuisci v0 app di Azure Container
Un'attività di Azure DevOps per compilare e distribuire app contenitore di Azure.
Sintassi
# 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.
Input
workingDirectory
- Directory di lavoro
Alias di input: cwd
. string
.
Directory di lavoro corrente in cui viene eseguito lo script. Empty è la radice del repository (build) o degli artefatti (versione), ovvero $(System.DefaultWorkingDirectory).
appSourcePath
- Percorso origine applicazione
string
.
Percorso assoluto nello strumento di esecuzione del codice dell'applicazione di origine da compilare. Se non specificato, è necessario specificare l'argomento 'imageToDeploy' per assicurarsi che l'app contenitore abbia un'immagine a cui fare riferimento.
Quando si esegue il push di una nuova immagine in Registro Azure Container, sono necessari gli input dell'attività acrName
e appSourcePath
.
azureSubscription
- Connessione Resource Manager di Azure
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 disporre delle autorizzazioni appropriate per apportare queste modifiche all'interno della sottoscrizione, ad esempio ruolo Collaboratore.
acrName
- nome Registro Azure Container
string
.
Nome del Registro Azure Container in cui verrà eseguito il push dell'immagine dell'applicazione eseguibile.
Quando si esegue il push di una nuova immagine in Registro Azure Container, sono necessari gli input dell'attività acrName
e appSourcePath
.
acrUsername
- Registro Azure Container nome utente
string
.
Nome utente usato per autenticare le richieste push nel Registro di sistema di Azure Contrainer fornito. 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 Azure Contrainer fornito. 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) nel Dockerfile nell'origine dell'applicazione fornita che deve essere usata per compilare l'immagine che viene quindi inserita nel Registro Azure Container e distribuita nell'app contenitore. Se non specificato, 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, il generatore Oryx++ verrà usato per creare l'immagine.
imageToBuild
- Immagine Docker da compilare
string
.
Nome personalizzato dell'immagine che deve essere compilata, inserita nel Registro Azure Container e distribuita nell'app contenitore da questa attività. Nota: questo nome immagine deve includere il server del Registro Azure Container; 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
.
Nome dell'immagine già sottoposta a push in Registro Azure Container e che verrà distribuita nell'app contenitore da questa attività. Nota: il nome dell'immagine deve includere il server registro Azure Container; ad esempio <acr-name>.azurecr.io/<repo>:<tag>
. Se questo argomento non viene specificato, verrà usato il valore fornito (o determinato) per l'argomento 'imageToBuild'. Se questa immagine viene trovata in un'istanza di Registro Azure Container che richiede l'autenticazione per eseguire il pull, l'argomento acrName
o gli acrUsername
argomenti e acrPassword
, può essere fornita per autenticare le richieste all'istanza di Registro Azure Container.
containerAppName
- Nome dell'app Contenitore di Azure
string
.
Nome dell'app Contenitore di Azure 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
.
Gruppo di risorse in cui verrà creata l'app Contenitore di Azure (o attualmente esistente). Se non specificato, questo valore sarà sotto forma di <container-app-name>-rg
.
containerAppEnvironment
- Ambiente dell'app Azure Container
string
.
Nome dell'ambiente dell'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 .<container-app-name>-env
runtimeStack
- Stack di runtime dell'applicazione
string
.
Stack di versioni della piattaforma usato nell'immagine finale dell'applicazione eseguibile 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 fornita. Per altre informazioni sugli stack di runtime supportati per Oryx, vedere questo documento .
targetPort
- Porta di destinazione dell'applicazione
string
.
Porta di destinazione su cui sarà in ascolto l'app contenitore. 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
.
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 spazi nel formato 'key=value'. Stringa vuota per cancellare i valori esistenti. 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 durante la creazione di 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'interno dell'ambiente dell'app. Se impostato su disabled
, l'ingresso verrà disabilitato per questa app contenitore e non avrà un endpoint HTTP o TCP.
yamlConfigPath
- Percorso del file di configurazione YAML
string
.
Percorso completo (nell'agente Azure Pipelines in esecuzione) nel file YAML che descrive in dettaglio la configurazione dell'app contenitore.
La proprietà nel file di configurazione YAML non verrà utilizzata. Il resourceGroup
valore per questo deriva dall'argomento resourceGroup
fornito all'attività o dal nome del gruppo di risorse predefinito generato dall'attività. Tutte le altre proprietà fornite nel file di configurazione YAML sostituiranno i valori forniti come argomenti per questa attività; Ad esempio, se l'argomento containerAppName
viene fornito all'attività e la name
proprietà viene impostata nel file di configurazione YAML, la name
proprietà nel file YAML verrà usata durante la creazione o l'aggiornamento dell'app contenitore.
Gli argomenti dell'origine dell'immagine e dell'applicazione (ad esempioappSourcePath
, imageToDeploy
) verranno comunque usati per compilare e/o eseguire 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
, a seconda dello scenario).
Quando si crea una nuova app contenitore, tutte le proprietà elencate nel file di configurazione YAML (ad eccezione resourceGroup
di quanto indicato in precedenza) verranno impostate quando viene creata l'app contenitore. Quando si aggiorna un'app contenitore esistente, solo le proprietà elencate nel file verranno aggiornate 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 specificato 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à di Azure DevOps. Se è impostato su "false" o se questo argomento non viene fornito, i dati di telemetria verranno inviati a Microsoft sullo scenario di compilazione e distribuzione dell'app contenitore destinato 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 Contenitore di Azure nel flusso di lavoro di Azure Pipelines fornendo un'immagine compilata in precedenza, un Dockerfile da cui è possibile compilare un'immagine o usando un generatore per creare un'immagine dell'applicazione eseguibile per l'utente.
L'attività ha 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, sono necessari gli input dell'attività
acrName
eappSourcePath
. - Distribuzione di un'immagine di cui è stato eseguito il push in precedenza : quando si distribuisce un'immagine di cui è stato eseguito il push in precedenza, è necessario l'input dell'attività
imageToDeploy
. Se questa immagine viene trovata in un'istanza di Registro Azure Container che richiede l'autenticazione per eseguire il pull, l'argomentoacrName
o gliacrUsername
argomenti eacrPassword
, può essere fornita per autenticare le richieste all'istanza di Registro Azure Container.
Nota
Sebbene nessun input di attività sia contrassegnato ufficialmente come "obbligatorio" nei metadati di questa attività, è necessario specificare alcuni input affinché questa attività venga eseguita correttamente usando uno dei due pattenr di utilizzo principali.
Se non viene trovato alcun Dockerfile o fornito nell'origine dell'applicazione fornita, questa attività esegue i passaggi seguenti:
- 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.
- 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
- 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.exe
Program 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
- Nota: non
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 lapack
cartella non esiste già - Scarica l'interfaccia della riga di comando
.zip
del pacchetto in questapack
cartella - Decomprime il contenuto da questo
.zip
e li inserisce nellapack
cartella - Elimina l'oggetto
.zip
- Crea una
- Per eseguire le operazioni seguenti, viene eseguito un set di comandi di PowerShell:
- Nei runner non Windows:
curl
verrà usato per eseguire il pull down dell'eseguibile.tgz
contenente ilpack
file eseguibiletar
verrà usato per decomprimere e.tgz
inserire ilpack
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@0
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@0
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@0
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 resourceGroup
da .
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_ID
RESOURCE_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@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)
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@0
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-rg
di gruppo di risorse.
Gruppo di risorse fornito
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'
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@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'
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@0
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@0
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@0
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@0
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 |