Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un'attività di Azure DevOps per compilare e distribuire app contenitore di Azure.
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.
Ingressi dati
workingDirectory
-
directory di lavoro
Alias di input: cwd.
string.
Directory di lavoro corrente in cui viene eseguito lo script. Se non si specifica un valore, corrisponde alla radice del repository (compilazione) 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 viene specificato, è necessario specificare l'argomento 'imageToDeploy' per assicurarsi che l'app contenitore disponga di un'immagine a cui fare riferimento.
Quando si esegue il push di una nuova immagine in Registro Azure Container, sono necessari gli input e acrName dell'attivitàappSourcePath.
azureSubscription
-
di connessione di Azure Resource Manager
Alias di input: connectedServiceNameARM.
string. Obbligatorio.
Specificare una connessione al servizio Azure Resource Manager 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 il ruolo Collaboratore.
acrName
-
Nome del 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 e acrName dell'attivitàappSourcePath.
acrUsername
-
Nome utente di Registro Azure Container
string.
Nome utente usato per autenticare le richieste push al Registro di sistema di Azure Contrainer fornito. Se non viene specificato, verrà generato un token di accesso tramite 'az acr login' e fornito a 'docker login' per autenticare le richieste.
acrPassword
-
Password di Registro Azure Container
string.
Password usata per autenticare le richieste push al Registro di sistema di Azure Contrainer fornito. Se non viene specificato, verrà generato un token di accesso tramite 'az acr login' e fornito a 'docker login' per autenticare le richieste.
dockerfilePath
-
Percorso del Dockerfile
string.
Percorso relativo (_without prefissi di file (vedere gli esempi seguenti) al Dockerfile nell'origine dell'applicazione fornita che deve essere usata per compilare l'immagine che viene quindi inviata al Registro Azure Container e distribuita nell'app contenitore. Se non viene specificato, questa attività verificherà se è presente un file denominato "Dockerfile" nella radice dell'origine dell'applicazione fornita e lo userà per compilare l'immagine. In caso contrario, verrà utilizzato Oryx++ Builder per creare l'immagine.
imageToBuild
-
Immagine Docker da compilare
string.
Nome personalizzato dell'immagine che deve essere compilata, inviata ad ACR e distribuita 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à 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 di cui è già stato eseguito il push in Registro Azure Container e che verrà distribuita 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 fornito, verrà utilizzato 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 il pull, è possibile fornire l'argomento acrName o gli acrUsername argomenti e acrPassword per autenticare le richieste all'istanza di Registro Azure Container.
containerAppName
-
Nome dell'app Azure Container
string.
Nome dell'app Azure Container che verrà creata o aggiornata. Se non viene 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 in cui esiste attualmente). Se non viene 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 viene specificato, verrà utilizzato 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 dovrebbe essere fornito nella formazione <platform>:<version>. Se non viene specificato, questo valore viene determinato da Oryx in base al contenuto dell'applicazione fornita. Per ulteriori informazioni sugli stack di runtime supportati per Oryx, consulta questo documento .
targetPort
-
Porta di destinazione dell'applicazione
string.
Porta di destinazione su 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.
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 dell'ingresso
string.
Opzioni possibili: esterno, interno, disabilitato. 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 di Azure Pipelines in esecuzione) del file YAML che descrive in dettaglio la configurazione dell'app contenitore.
La resourceGroup proprietà nel file di configurazione YAML non verrà usata; il valore per this 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à è impostata nel file di configurazione YAML, la proprietà nel file YAML verrà utilizzata durante la name creazione o l'aggiornamento dell'app contenitore.
Gli argomenti dell'origine dell'immagine e dell'applicazione (ad esempio, appSourcePath, imageToDeploy) verranno comunque usati per creare 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 al momento della creazione dell'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 fornito l'argomento yamlConfigPath , il file YAML verrà passato al comando corrispondente az containerapp , create oppure
update a seconda dello scenario. Per ulteriori informazioni sul comportamento previsto quando viene fornito il file di configurazione YAML, consultare i documenti collegati per i comandi corrispondenti.
Per ulteriori informazioni sulla struttura del file di configurazione YAML, visitare questo sito.
disableTelemetry
-
Disabilitare i dati di telemetria
boolean.
Se impostato su 'true', questa attività di Azure DevOps non raccoglierà dati di telemetria. Se impostato su 'false' o se questo argomento non viene specificato, i dati di telemetria verranno inviati a Microsoft sullo scenario di compilazione e distribuzione dell'app contenitore di destinazione di questa attività Azure DevOps.
Opzioni di controllo delle attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di uscita
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 è possibile compilare un'immagine o usando un generatore per creare un'immagine dell'applicazione eseguibile per l'utente.
L'attività presenta i due modelli di utilizzo seguenti.
-
Push di un'immagine in ACR: quando si esegue il push di una nuova immagine in ACR, sono necessari gli input e
acrNamedell'attivitàappSourcePath. -
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 il pull, è possibile fornire l'argomentoacrNameo gliacrUsernameargomenti eacrPasswordper autenticare le richieste all'istanza di Registro Azure Container.
Annotazioni
Anche se nessun input di attività è ufficialmente contrassegnato come "obbligatorio" nei metadati di questa attività, sarà necessario fornire alcuni input affinché questa attività venga eseguita correttamente utilizzando uno dei due modelli di utilizzo principali.
Se non viene trovato o fornito alcun Dockerfile nell'origine dell'applicazione fornita, questa attività esegue i passaggi seguenti:
- Utilizza Oryx++ Builder per creare l'origine dell'applicazione utilizzando Oryx per produrre un'immagine dell'applicazione eseguibile
- Esegue il push di questa immagine dell'applicazione eseguibile nel Registro Azure Container fornito
- Crea o aggiorna un'app contenitore in base a questa immagine
Se viene trovato o individuato un Dockerfile nell'origine dell'applicazione, il generatore non verrà usato e l'immagine verrà compilata con una chiamata a docker build e l'app contenitore verrà creata o aggiornata in base a questa immagine.
Se un'immagine compilata in precedenza è già stata inviata all'istanza di 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à negli 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
- I runner macOS forniti da Microsoft non vengono installati con Docker (maggiori informazioni qui); di conseguenza, questa attività non è in grado di eseguire alcun
dockercomando, ad esempio il push delle immagini dell'applicazione eseguibile compilate in Registro Azure Container.
- I runner macOS forniti da Microsoft non vengono installati con Docker (maggiori informazioni qui); di conseguenza, questa attività non è in grado di eseguire alcun
- Finestre
- I runner di Windows forniti da Microsoft vengono forniti con Docker installato, ma per impostazione predefinita non è possibile estrarre le immagini basate su Linux; di conseguenza, questa attività non è in grado di eseguire il pull down di Oryx Builder per creare immagini dell'applicazione eseguibili dall'origine dell'applicazione fornita.
Per altre informazioni, vedere la sezione relativa ai prerequisiti Docker riportata di seguito.
Avviso di raccolta dati/telemetria
Per impostazione predefinita, questa attività Azure DevOps raccoglie i dati seguenti per Microsoft:
- Scenario di compilazione e distribuzione dell'app contenitore di destinazione dell'utente
- Ad esempio, è stato utilizzato Oryx++ Builder, è stato utilizzato un Dockerfile fornito/trovato o è stata fornita un'immagine creata in precedenza
- Nota: il nome dell'immagine non viene raccolto
- Il tempo di elaborazione dell'attività, in millisecondi
- Il risultato dell'attività
- cioè, riuscito o fallito
- Se si utilizza Oryx++ Builder, vengono visualizzati gli eventi e le metriche relativi alla creazione dell'applicazione fornita utilizzando Oryx
Se si desidera disabilitare la raccolta dei 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 per 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 Build or 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 ulteriori informazioni sulla creazione di connessioni di servizio, consultare questo documento.
Interfaccia CLI 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.
Scaricatore
Questa attività richiede che Docker sia installato nell'agente di Azure Pipelines per eseguire il push delle immagini nel Registro Azure Container fornito. Per ulteriori informazioni su come installare Docker nell'agente, consulta questo documento.
Inoltre, gli utenti che eseguono questa attività con un agente Windows potrebbero riscontrare un problema con l'impossibilità di estrarre immagini basate su Linux; Per risolvere questo problema, individuare 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 comunque abilitati:
- Fornire un'immagine compilata in precedenza all'argomento
imageToDeploycon cui viene distribuita l'app contenitore
Se Docker si trova nell'agente, ma non è in grado di lavorare con immagini basate su Linux, gli scenari seguenti sono ancora abilitati:
- Fornire un'immagine compilata in precedenza all'argomento
imageToDeploycon cui viene distribuita l'app contenitore - Fornire un
Dockerfilecome parte dell'origine dell'applicazione che verrà compilata e distribuita con l'app contenitore-
Nota: non possono
Dockerfileavere livelli di immagine basati su Linux
-
Nota: non possono
pacchetto CLI
L'interfaccia della riga di comando del pacchetto viene gestita dal progetto Cloud Native Buildpacks 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. Oryx ha creato un generatore per assimilare il codice sorgente dell'applicazione fornito a questa attività e produrre un'immagine che può quindi essere inviata a un registro immagini e utilizzata all'interno di un'app contenitore per creare ed eseguire l'applicazione.
Una versione stabile dell'interfaccia della riga di comando del pacchetto viene installata nell'agente di Azure Pipelines che esegue l'attività e, a seconda del sistema operativo di base di questo agente, verranno sfruttati strumenti diversi per facilitare l'installazione:
- Sui runner Windows:
- Viene eseguito un set di comandi di PowerShell per eseguire le operazioni seguenti:
- Crea una
packcartella nella cartella temporanea dell'agente, se lapackcartella non esiste già - Scarica l'interfaccia della riga di comando
.zipdel pacchetto in questapackcartella - Decomprime il contenuto da questo
.zipe lo inserisce nellapackcartella - Elimina il
.zip
- Crea una
- Viene eseguito un set di comandi di PowerShell per eseguire le operazioni seguenti:
- Su runner non Windows:
-
curlverrà utilizzato per abbassare il.tgzcontenuto dell'eseguibilepack -
tarverrà utilizzato per decomprimere e.tgzposizionare l'eseguibilepackin/usr/local/bin
-
Registro dei container di Azure
Deve esistere un Registro Azure Container in cui l'utente è in grado di eseguire il push delle immagini del contenitore. Questa attività sfrutterà il Registro Azure Container per eseguire il push di un'immagine dell'applicazione eseguibile compilata e/o distribuire un'app contenitore da.
Il nome del Registro Azure Container è obbligatorio tramite l'argomento acrName .
L'utente può anche fornire i valori per gli acrUsername argomenti e acrPassword che autenticheranno le chiamate all'istanza di Registro Azure Container; se non specificato, verrà generato un token di accesso tramite l'interfaccia della riga di comando di Azure che autenticherà invece le chiamate.
Ambiente dell'app Azure Container
È consigliabile che un ambiente Azure Container App sia stato creato in precedenza dall'utente per migliorare le prestazioni dell'attività. Se in precedenza non è stato creato alcun ambiente 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, operazione che potrebbe richiedere più tempo.
Esempi
Gli esempi seguenti illustrano come utilizzare l'in AzureContainerApps diversi scenari.
Minimal - 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 si baserà su un'immagine compilata dall'istanza fornita appSourcePath e inviata all'istanza di Registro Azure Container fornita. Verrà generato un token di accesso per autenticare il push nell'istanza di 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/<existing-image>:latest
In questo modo 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/<existing-image>: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
In questo modo 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/<existing-image>:latest per l'app contenitore. Le proprietà aggiuntive relative all'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 che escludono resourceGroup.
Il simple-image-container-app.yaml file ha la seguente struttura:
properties:
managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
configuration:
ingress:
external: true
allowInsecure: false
targetPort: 80
template:
containers:
- image: mcr.microsoft.com/<existing-image>:latest
name: mysampleimagecontainer
I valori di 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à usato dall'app contenitore.
Uso delle credenziali ACR 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 si baserà su un'immagine compilata dall'istanza fornita appSourcePath e inviata all'istanza di Registro Azure Container fornita. Le credenziali del Registro Azure Container fornite verranno usate per autenticare le chiamate all'istanza del Registro Azure Container.
Nome dell'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 con 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 dell'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'
In questo modo 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 di 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 fornita.
Nota: per i valori forniti a dockerfilePath, non deve essere incluso alcun prefisso di file (ad esempio, ./test.Dockerfile deve essere passato solo test.Dockerfilecome ). Gli argomenti forniti appSourcePath e dockerfilePath saranno concatenati all'interno dell'attività.
Immagine da costruire 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'
In questo modo 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 è denominata mytestacr.azurecr.io/app:latestl'immagine compilata e inviata al Registro Azure Container.
Requisiti
| Requisito | Descrizione |
|---|---|
| Tipi di pipeline | YAML, build classica, versione classica |
| Viene eseguito in | Agente, DeploymentGroup |
| Richieste | Nessuno |
| Funzionalità | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
| restrizioni dei comandi | Qualunque |
| variabili impostabili | Qualunque |
| Versione agente | 2.144.0 o versione successiva |
| Categoria attività | Distribuire |