AzureContainerApps@0 - Tâche De déploiement d’Azure Container Apps v0
Tâche Azure DevOps pour générer et déployer Azure Container Apps.
Cette version de la tâche est déconseillée ; utilisez AzureContainerApps@1.
Tâche Azure DevOps pour générer et déployer Azure Container Apps.
Syntaxe
# 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.
Entrées
workingDirectory
-
répertoire de travail
Alias d’entrée : cwd
.
string
.
Répertoire de travail actuel où le script est exécuté. Vide est la racine du dépôt (build) ou des artefacts (version), qui est $(System.DefaultWorkingDirectory).
appSourcePath
-
chemin d’accès source de l’application
string
.
Chemin absolu sur l’exécuteur du code d’application source à générer. S’il n’est pas fourni, l’argument « imageToDeploy » doit être fourni pour vous assurer que l’application conteneur dispose d’une image à référencer.
Lors de l’envoi (push) d’une nouvelle image vers ACR, les entrées de tâche acrName
et appSourcePath
sont requises.
azureSubscription
-
de connexion Azure Resource Manager
Alias d’entrée : connectedServiceNameARM
.
string
. Obligatoire.
Spécifiez une connexion de service Azure Resource Manager pour le déploiement. Cette connexion de service doit être liée à l’abonnement Azure de l’utilisateur dans lequel l’application conteneur sera créée/mise à jour. Cette connexion de service doit disposer des autorisations appropriées pour apporter ces modifications dans l’abonnement, par exemple le rôle Contributeur.
acrName
-
nom Azure Container Registry
string
.
Nom d’Azure Container Registry vers lequel l’image d’application exécutable sera envoyée.
Lors de l’envoi (push) d’une nouvelle image vers ACR, les entrées de tâche acrName
et appSourcePath
sont requises.
acrUsername
-
nom d’utilisateur Azure Container Registry
string
.
Nom d’utilisateur utilisé pour authentifier les demandes Push auprès du registre Azure Contrainer fourni. S’il n’est pas fourni, un jeton d’accès est généré via « az acr login » et fourni à « docker login » pour authentifier les demandes.
acrPassword
-
mot de passe Azure Container Registry
string
.
Mot de passe utilisé pour authentifier les demandes Push auprès du registre Azure Contrainer fourni. S’il n’est pas fourni, un jeton d’accès est généré via « az acr login » et fourni à « docker login » pour authentifier les demandes.
dockerfilePath
-
chemin d’accès dockerfile
string
.
Chemin d’accès relatif (préfixes de fichier _without (voir les exemples suivants) au fichier Dockerfile dans la source d’application fournie qui doit être utilisée pour générer l’image qui est ensuite envoyée à ACR et déployée sur l’application conteneur. Si elle n’est pas fournie, cette tâche vérifie s’il existe un fichier nommé « Dockerfile » à la racine de la source de l’application fournie et l’utilise pour générer l’image. Sinon, le Générateur Oryx++ sera utilisé pour créer l’image.
imageToBuild
-
image Docker pour générer
string
.
Nom personnalisé de l’image à générer, envoyé (push) à ACR et déployé sur l’application conteneur par cette tâche. Remarque : ce nom d’image doit inclure le serveur ACR ; par exemple, <acr-name>.azurecr.io/<repo>:<tag>
. Si cet argument n’est pas fourni, un nom d’image par défaut est construit sous la forme de <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>
.
imageToDeploy
-
image Docker pour déployer
string
.
Nom de l’image qui a déjà été envoyée à ACR et qui sera déployée sur l’application conteneur par cette tâche. Remarque : le nom de l’image doit inclure le serveur ACR ; par exemple, <acr-name>.azurecr.io/<repo>:<tag>
. Si cet argument n’est pas fourni, la valeur fournie (ou déterminée) pour l’argument « imageToBuild » est utilisée. Si cette image se trouve dans une instance ACR qui nécessite l’authentification pour extraire, l’argument acrName
ou les arguments acrUsername
et acrPassword
, peut être fourni pour authentifier les demandes auprès de l’instance ACR.
containerAppName
-
nom d’application conteneur Azure
string
.
Nom de l’application conteneur Azure qui sera créée ou mise à jour. Si elle n’est pas fournie, cette valeur se présente sous la forme de ado-task-app-<build-id>-<build-number>
.
resourceGroup
-
nom du groupe de ressources Azure
string
.
Groupe de ressources dans lequel l’application conteneur Azure sera créée (ou existe actuellement). Si elle n’est pas fournie, cette valeur se présente sous la forme de <container-app-name>-rg
.
containerAppEnvironment
-
environnement Azure Container App
string
.
Nom de l’environnement Azure Container App à utiliser avec l’application. S’il n’est pas fourni, un environnement existant dans le groupe de ressources de l’application conteneur sera utilisé ; sinon, un environnement sera créé au format de <container-app-name>-env
.
runtimeStack
-
pile du runtime d’application
string
.
Pile de versions de la plateforme utilisée dans l’image d’application exécutable finale déployée sur l’application conteneur. La valeur doit être fournie dans la formation <platform>:<version>
. Si elle n’est pas fournie, cette valeur est déterminée par Oryx en fonction du contenu de l’application fournie. Reportez-vous à ce document pour plus d’informations sur les piles d’exécution prises en charge pour Oryx.
targetPort
-
port cible d’application
string
.
Port cible sur lequel l’application conteneur écoute. Si elle n’est pas fournie, cette valeur est « 80 » pour les applications Python et « 8080 » pour toutes les autres plateformes prises en charge.
emplacement location
- de l’application conteneur
string
.
Emplacement sur lequel l’application conteneur (et d’autres ressources créées) sera déployée.
environmentVariables
-
variables d’environnement
string
.
Liste des variables d’environnement pour le conteneur. Valeurs séparées par l’espace au format « key=value ». Chaîne vide pour effacer les valeurs existantes. Valeur de préfixe avec ' secretref :' pour référencer un secret.
ingress
-
paramètre d’entrée
string
.
Options possibles : externe, interne, désactivée. Si la valeur est définie sur external
(valeur par défaut si elle n’est pas fournie lors de la création d’une application conteneur), l’application conteneur est visible à partir d’Internet ou d’un réseau virtuel, selon le point de terminaison de l’environnement d’application configuré. Si la valeur est internal
, l’application conteneur est visible uniquement à partir de l’environnement de l’application. Si la valeur est disabled
, l’entrée est désactivée pour cette application conteneur et n’a pas de point de terminaison HTTP ou TCP.
yamlConfigPath
-
chemin d’accès au fichier de configuration YAML
string
.
Chemin complet (sur l’agent Azure Pipelines en cours d’exécution) vers le fichier YAML détaillant la configuration de l’application conteneur.
La propriété resourceGroup
dans le fichier de configuration YAML ne sera pas utilisée ; la valeur de cet argument provient de l’argument resourceGroup
fourni à la tâche ou du nom du groupe de ressources par défaut généré par la tâche. Toutes les autres propriétés fournies dans le fichier de configuration YAML remplacent les valeurs fournies en tant qu’arguments pour cette tâche ; par exemple, si l’argument containerAppName
est fourni à la tâche et que la propriété name
est définie dans le fichier de configuration YAML, la propriété name
dans le fichier YAML est utilisée lors de la création ou de la mise à jour de l’application conteneur.
Les arguments de source d’image et d’application (par exemple,, appSourcePath
, imageToDeploy
) seront toujours utilisés pour générer et/ou envoyer (push) une image utilisée par l’application conteneur ; dans ce cas, le fichier de configuration YAML fourni doit référencer l’image spécifiée par imageToDeploy
(ou imageToBuild
, selon votre scénario).
Lors de la création d’une application conteneur, toutes les propriétés répertoriées dans le fichier de configuration YAML (sauf resourceGroup
comme mentionné ci-dessus) sont définies lors de la création de l’application conteneur. Lors de la mise à jour d’une application conteneur existante, seules les propriétés répertoriées dans le fichier sont mises à jour sur l’application conteneur.
Actuellement, le fichier YAML ne prend pas en charge la configuration de l’authentification d’identité managée pour le registre de conteneurs utilisé ; pour plus d’informations sur ce problème, consultez ce problème GitHub.
Dans les cas où l’argument yamlConfigPath
est fourni, le fichier YAML est transmis à la commande az containerapp
correspondante, create
ou
update
en fonction de votre scénario. Pour plus d’informations sur le comportement prévu lorsque le fichier de configuration YAML est fourni, consultez les documents liés aux commandes correspondantes.
Pour plus d’informations sur la structure du fichier de configuration YAML, visitez ce site.
disableTelemetry
-
désactiver les de télémétrie
boolean
.
Si la valeur est « true », aucune télémétrie n’est collectée par cette tâche Azure DevOps. Si la valeur est « false » ou si cet argument n’est pas fourni, les données de télémétrie sont envoyées à Microsoft à propos de la build de l’application conteneur et du scénario de déploiement ciblé par cette tâche Azure DevOps.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Cette tâche Azure Pipelines permet aux utilisateurs de déployer facilement leur source d’application sur un Azure Container App dans leur flux de travail Azure Pipelines en fournissant une image créée précédemment, un fichier Dockerfile à partir duquel une image peut être générée ou à l’aide d’un générateur pour créer une image d’application exécutable pour l’utilisateur.
La tâche comporte les deux modèles d’utilisation suivants.
-
envoyer une image à ACR : lors de l’envoi (push) d’une nouvelle image vers ACR, les entrées de tâche
acrName
etappSourcePath
sont requises. -
Déploiement d’une image envoyée (push) précédemment : lors du déploiement d’une image envoyée (push) précédemment, l’entrée de tâche
imageToDeploy
est requise. Si cette image se trouve dans une instance ACR qui nécessite l’authentification pour extraire, l’argumentacrName
ou les argumentsacrUsername
etacrPassword
, peut être fourni pour authentifier les demandes auprès de l’instance ACR.
Note
Bien qu’aucune entrée de tâche ne soit officiellement marquée comme « obligatoire » dans les métadonnées de cette tâche, certaines entrées doivent être fournies pour que cette tâche s’exécute correctement à l’aide de l’un des deux pattenrs d’utilisation principaux.
Si aucun fichier Dockerfile n’est trouvé ou fourni dans la source d’application fournie, les étapes suivantes sont effectuées par cette tâche :
- Utilise le Générateur Oryx++ pour générer la source de l’application à l’aide de Oryx pour produire une image d’application exécutable
- Envoie (push) cette image d’application exécutable vers azure Container Registry fourni
- Crée ou met à jour une application conteneur basée sur cette image
Si un fichier Dockerfile est trouvé ou découvert dans la source de l’application, le générateur ne sera pas utilisé et l’image sera générée avec un appel à docker build
et l’application conteneur sera créée ou mise à jour en fonction de cette image.
Si une image créée précédemment a déjà été envoyée (push) à l’instance ACR et qu’elle est fournie à cette tâche, aucune source d’application n’est requise et l’image sera utilisée lors de la création ou de la mise à jour de l’application conteneur.
Exécution de cette tâche sur les agents hébergés par Microsoft
Si vous exécutez cette tâche sur un agent hébergé par Microsoft, vous pouvez constater que cette tâche n’est pas en mesure de s’exécuter correctement avec les systèmes d’exploitation suivants :
- macOS
- Les exécuteurs macOS fournis par Microsoft ne sont pas installés avec Docker (plus d’informations ici) ; Par conséquent, cette tâche n’est pas en mesure d’exécuter des commandes
docker
, telles que l’envoi (push) des images d’application exécutables générées vers ACR.
- Les exécuteurs macOS fournis par Microsoft ne sont pas installés avec Docker (plus d’informations ici) ; Par conséquent, cette tâche n’est pas en mesure d’exécuter des commandes
- Windows
- Les exécuteurs Windows fournis par Microsoft sont fournis avec Docker installés, mais par défaut, les images Linux ne peuvent pas être extraites ; Par conséquent, cette tâche ne peut pas extraire le générateur Oryx pour créer des images d’application exécutables à partir de la source d’application fournie.
Pour plus d’informations, consultez la section ci-dessous Docker prérequis.
Avis de collecte de données/télémétrie
Par défaut, cette tâche Azure DevOps collecte les éléments de données suivants pour Microsoft :
- Le scénario de génération et de déploiement de l’application conteneur ciblé par l’utilisateur
- c’est-à-dire, utilisé le Générateur Oryx++, utilisé un fichier Dockerfile fourni/trouvé ou fourni une image créée précédemment
- Remarque: le nom de l’image n’est pas collecté
- Temps de traitement de la tâche, en millisecondes
- Résultat de la tâche
- c’est-à-dire, réussi ou échoué
- Si le Générateur Oryx++ est utilisé, les événements et les métriques relatifs à la génération de l’application fournie à l’aide d’Oryx
Si vous souhaitez désactiver la collecte de données, définissez l’argument disableTelemetry
sur true
.
Conditions préalables
Avant d’exécuter cette tâche, les ressources Azure et une connexion de service Azure DevOps sont requises ou facultatives en fonction des arguments fournis à cette tâche.
Connexion au service Azure DevOps
Pour déployer sur Azure, un abonnement Azure doit être lié à Team Foundation Server ou à Azure Pipelines à l’aide de l’onglet Services de la section paramètres. Ajoutez l’abonnement Azure à utiliser dans la définition Build ou Release Management en ouvrant l’écran Administration du compte (icône d’engrenage en haut à droite de l’écran), puis cliquez sur l’onglet Services.
Créez le point de terminaison de service ARM et utilisez le type de point de terminaison « Azure Resource Manager ». pour plus d’informations sur la création de connexions de service, suivez ce document.
Azure CLI
Cette tâche nécessite qu’Azure CLI soit installé sur l’agent Azure Pipelines pour exécuter diverses commandes tout au long de l’exécution de la tâche. Pour plus d’informations sur l’installation d’Azure CLI sur l’agent, consultez ce document. Si un agent est déjà en cours d’exécution sur la machine sur laquelle Azure CLI est installé, veillez à redémarrer l’agent afin que toutes les variables d’environnement pertinentes soient mises à jour.
Docker
Cette tâche nécessite que Docker soit installé sur l’agent Azure Pipelines pour envoyer (push) des images vers Azure Container Registry fourni. Pour plus d’informations sur l’installation de Docker sur l’agent, consultez ce document.
En outre, les utilisateurs exécutant cette tâche avec un agent Windows peuvent rencontrer un problème avec l’impossibilité d’extraire des images Linux ; pour résoudre ce problème, recherchez le fichier DockerCli.exe
sur votre agent (généralement dans le dossier Program Files\Docker\Docker
) et exécutez
& `.\DockerCli.exe` -SwitchDaemon
Si Docker n’est pas installé sur l’agent exécutant cette tâche, les scénarios suivants sont toujours activés :
- Fournir une image créée précédemment à l’argument
imageToDeploy
avec lequel l’application conteneur est déployée
Si Docker se trouve sur l’agent, mais ne parvient pas à utiliser des images Linux, les scénarios suivants sont toujours activés :
- Fournir une image créée précédemment à l’argument
imageToDeploy
avec lequel l’application conteneur est déployée - Fournir une
Dockerfile
dans le cadre de votre source d’application qui sera générée et déployée avec l’application conteneur-
Remarque: les
Dockerfile
ne peuvent pas avoir de couches d’images Linux
-
Remarque: les
pack CLI
L’interface CLI pack est gérée par le projet Buildpacks Cloud Native et est utilisée par cette tâche pour créer des images d’application exécutables pour l’utilisateur lorsque le code source de l’application est fourni et qu’aucun fichier Dockerfile supplémentaire n’est fourni ou trouvé. Un builder a été créé par Oryx pour prendre le code source de l’application fourni à cette tâche et produire une image qui peut ensuite être envoyée à un registre d’images et utilisée dans une application conteneur pour générer et exécuter l’application.
Une version stable de l’interface CLI pack est installée sur l’agent Azure Pipelines exécutant la tâche et, selon le système d’exploitation de base de cet agent, différents outils seront utilisés pour faciliter l’installation :
- Sur les exécuteurs Windows :
- Un ensemble de commandes PowerShell est exécuté pour effectuer les opérations suivantes :
- Crée un dossier
pack
dans le dossier temporaire de l’agent, si le dossierpack
n’existe pas déjà - Télécharge le
.zip
CLI pack dans ce dossierpack
- Décompresse le contenu de cette
.zip
et les place dans le dossierpack
- Supprime le
.zip
- Crée un dossier
- Un ensemble de commandes PowerShell est exécuté pour effectuer les opérations suivantes :
- Sur les exécuteurs non-Windows :
-
curl
sera utilisé pour extraire le.tgz
contenant l’exécutablepack
-
tar
sera utilisé pour décompresser le.tgz
et placer l’exécutablepack
dans/usr/local/bin
-
Azure Container Registry
Un Azure Container Registry doit exister pour que l’utilisateur puisse envoyer des images conteneur vers. Cette tâche tirera parti d’Azure Container Registry pour envoyer (push) une image d’application runnable générée vers et/ou déployer une application conteneur à partir de.
Le nom d’Azure Container Registry est requis via l’argument acrName
.
L’utilisateur peut également fournir des valeurs pour les arguments acrUsername
et acrPassword
qui authentifient les appels à l’instance Azure Container Registry ; s’il n’est pas fourni, un jeton d’accès est généré via Azure CLI qui authentifie les appels à la place.
Environnement Azure Container App
Un environnement Azure Container App est recommandé d’avoir été créé précédemment par l’utilisateur pour améliorer les performances de la tâche. Si aucun environnement n’a été créé avant, ou si un environnement est introuvable dans le groupe de ressources utilisé pour héberger l’application conteneur créée, un environnement est créé dans le cadre de la commande az containerapp up
, ce qui peut prendre du temps supplémentaire.
Exemples
Les exemples suivants décrivent comment utiliser la AzureContainerApps
dans différents scénarios.
Minimal - Générer une image d’application pour l’application conteneur
steps:
- task: AzureContainerApps@0
displayName: Build and deploy Container App
inputs:
connectedServiceNameARM: 'azure-subscription-service-connection'
appSourcePath: '$(System.DefaultWorkingDirectory)'
acrName: 'mytestacr'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
. L’application conteneur est basée sur une image générée à partir de la appSourcePath
fournie et envoyée (push) à l’instance ACR fournie. Un jeton d’accès sera généré pour authentifier l’envoi (push) à l’instance ACR fournie.
Minimal - Utiliser l’image précédemment publiée pour Container App
steps:
- task: AzureContainerApps@0
displayName: Build and deploy Container App
inputs:
connectedServiceNameARM: 'azure-subscription-service-connection'
imageToDeploy: mcr.microsoft.com/<existing-image>:latest
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
où aucune nouvelle image n’est générée, mais une image existante nommée mcr.microsoft.com/<existing-image>:latest
sera utilisée pour l’application conteneur.
Minimal - Utiliser le fichier de configuration YAML avec une image précédemment publiée pour Container App
steps:
- task: AzureContainerApps@0
displayName: Build and deploy Container App
inputs:
yamlConfigPath: simple-image-container-app.yaml
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
où aucune nouvelle image n’est générée, mais une image existante nommée mcr.microsoft.com/<existing-image>:latest
sera utilisée pour l’application conteneur. Des propriétés supplémentaires relatives à l’application conteneur sont extraites du fichier simple-image-container-app.yaml
et remplacent toutes les valeurs supplémentaires qui auraient été fournies à la tâche en tant qu’arguments à l’exclusion de resourceGroup
.
Le fichier simple-image-container-app.yaml
a la structure suivante :
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/<existing-image>:latest
name: mysampleimagecontainer
Les valeurs de SUBSCRIPTION_ID
, RESOURCE_GROUP
et CONTAINER_APP_ENVIRONMENT
doivent être mises à jour pour pointer vers l’ID de ressource complet du environnement d’application conteneur existant que l’application conteneur utilisera.
Utilisation des informations d’identification ACR pour s’authentifier
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)
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
. L’application conteneur est basée sur une image générée à partir de la appSourcePath
fournie et envoyée (push) à l’instance ACR fournie. Les informations d’identification ACR fournies sont utilisées pour authentifier les appels à l’instance ACR.
Nom de l’application conteneur fourni
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'
Cela crée une application conteneur nommée my-test-container-app
dans un nouveau nom de groupe de ressources my-test-container-app-rg
.
Groupe de ressources fourni
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'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un groupe de ressources nommé my-test-rg
. Si le groupe de ressources my-test-rg
n’existe pas, il est créé dans le cadre de cette tâche.
Nom et groupe de ressources de l’application conteneur fournis
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'
Cela crée une application conteneur nommée my-test-container-app
dans un groupe de ressources nommé my-test-rg
. Si le groupe de ressources my-test-rg
n’existe pas, il est créé dans le cadre de cette tâche.
Environnement d’application conteneur fourni
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'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
avec un nouvel environnement Container App nommé my-test-container-app-env
.
Pile d’exécution fournie
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'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
où l’image d’application exécutable utilise la pile d’exécution .NET 7.
Fichier Dockerfile fourni
steps:
- task: AzureContainerApps@0
displayName: Build and deploy Container App
inputs:
connectedServiceNameARM: 'azure-subscription-service-connection'
appSourcePath: '$(System.DefaultWorkingDirectory)'
acrName: 'mytestacr'
dockerfilePath: 'test.Dockerfile'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
où l’image d’application exécutable a été créée à partir du fichier test.Dockerfile
trouvé dans le répertoire de chemin d’accès source de l’application fourni.
Remarque: pour les valeurs fournies à dockerfilePath
, aucun préfixe de fichier ne doit être inclus (par exemple,, ./test.Dockerfile
doit être passé comme juste test.Dockerfile
). Les arguments appSourcePath
et dockerfilePath
fournis sont concaténés à l’intérieur de la tâche.
Image à générer fournie
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'
Cela crée une application conteneur nommée ado-task-app-<build-id>-<build-number>
dans un nouveau groupe de ressources nommé <container-app-name>-rg
où l’image générée et envoyée à ACR est nommée mytestacr.azurecr.io/app:latest
.
Exigences
Exigence | Description |
---|---|
Types de pipelines | YAML, Build Classique, Version Classique |
Exécutions sur | Agent, DeploymentGroup |
demandes | Aucun |
fonctionnalités de | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
restrictions de commande | Quelconque |
variables settables | Quelconque |
Version de l’agent | 2.144.0 ou version ultérieure |
Catégorie de tâche | Déployer |