Partager via


Démarrage rapide : Créer un pool DevOps managé à l’aide d’Azure CLI

Cet article explique comment créer un pool DevOps managé à l’aide d’Azure CLI et exécuter un pipeline dans celui-ci.

Prérequis

Avant de suivre les étapes décrites dans cet article, vous devez avoir configuré votre abonnement Azure et votre organisation Azure DevOps pour une utilisation avec des pools DevOps managés, comme décrit dans l’article Conditions préalables . Ces étapes doivent être effectuées une seule fois par abonnement Azure et par organisation Azure DevOps.

Installer ou exécuter dans Azure Cloud Shell

Le moyen le plus simple d’apprendre à utiliser Azure CLI consiste à exécuter un environnement Bash dans Azure Cloud Shell via votre navigateur. Pour découvrir Cloud Shell, consultez Démarrage rapide de Bash dans Azure Cloud Shell.

Lorsque vous êtes prêt à installer Azure CLI, consultez les instructions d’installation pour le conteneur Windows, Linux, macOS et Docker.

Vérifiez votre version en exécutant az --version. Azure Cloud Shell dispose toujours de la dernière version d’Azure CLI préinstallée.

az version

Se connecter à Azure CLI

Ouvrez une invite de commandes (sur Windows, utilisez l’invite de commandes Windows ou PowerShell) et exécutez les commandes suivantes. Si vous utilisez Azure Cloud Shell , vous n’avez pas besoin d’exécuter az login , sauf si vous souhaitez utiliser un autre compte.

  1. Connectez-vous à Azure CLI.

    az login
    
  2. Si vous avez plusieurs abonnements Azure, définissez votre abonnement Azure par défaut.

    az account set --subscription "My subscription name"
    

    Pour obtenir la liste de vos abonnements, vous pouvez exécuter la commande suivante.

    az account list -o table
    

    Si vous avez plusieurs locataires ou souhaitez obtenir plus d’informations sur l’utilisation d’un abonnement Azure à l’aide d’Azure CLI, consultez Comment gérer les abonnements Azure avec Azure CLI.

Définissez des variables d’environnement

  1. Exécutez les commandes suivantes pour générer les noms des ressources de ce guide de démarrage rapide. Cet exemple utilise la EastUS2 région. Remplacez par EastUS2 votre région souhaitée.

    export RANDOM_ID="$(openssl rand -hex 3)"
    export RESOURCE_GROUP_NAME="myManagedDevOpsPoolGroup$RANDOM_ID"
    export REGION=EastUS2
    export POOL_NAME="mdpPool$RANDOM_ID"
    export DEV_CENTER_NAME="mdpDevCenter$RANDOM_ID"
    export DEV_CENTER_PROJECT_NAME="mdpDevCenterProject$RANDOM_ID"
    
  2. Exécutez les commandes suivantes pour passer en revue les noms de vos ressources.

    echo $RESOURCE_GROUP_NAME
    echo $POOL_NAME
    echo $DEV_CENTER_NAME
    echo $DEV_CENTER_PROJECT_NAME
    echo $REGION
    

Créer un groupe de ressources

  1. Exécutez la commande suivante pour créer le groupe de ressources pour contenir les ressources utilisées dans ce guide de démarrage rapide.

    az group create --name $RESOURCE_GROUP_NAME --location $REGION
    

Créer un centre de développement et un projet de centre de développement

  1. Installez l’extension Azure CLI devcenter et vérifiez qu’elle est mise à niveau vers la dernière version si elle est déjà installée.

    az extension add --name devcenter --upgrade
    
  2. Exécutez les commandes suivantes pour créer un centre de développement et un projet de centre de développement.

    # Create a dev center
    az devcenter admin devcenter create -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION
    
    # Save the id of the newly created dev center
    DEVCID=$( \
        az devcenter admin devcenter show -n $DEV_CENTER_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    
    # Create a dev center project
    az devcenter admin project create -n $DEV_CENTER_PROJECT_NAME \
        --description "My dev center project." \
        -g $RESOURCE_GROUP_NAME \
        -l $REGION \
        --dev-center-id $DEVCID
    
    # Save the dev center project for use when creating
    # the Managed DevOps Pool
    DEVCPID=$( \
        az devcenter admin project show -n $DEV_CENTER_PROJECT_NAME \
        -g $RESOURCE_GROUP_NAME \
        --query id -o tsv)
    

    Après quelques instants, la sortie indique que le centre de développement a été créé. Le id centre de développement créé est enregistré DEVCID et est utilisé pour créer le projet du centre de développement.

    {
        "devCenterUri": "https://...",
        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/devcenters/devCenterName",
        "location": "eastus",
        "name": "devCenterName",
        "provisioningState": "Succeeded",
        "resourceGroup": "resourceGroupName",
        "systemData": { ... },
        "type": "microsoft.devcenter/devcenters"
    }
    

    Après quelques instants supplémentaires, la sortie indique que le projet du centre de développement a été créé. Le id projet du centre de développement créé est enregistré DEVCPID et est utilisé lors de la création du pool DevOps managé dans la section suivante.

    {
      "description": "My dev center project.",
      "devCenterId": "...",
      "devCenterUri": "https://...",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/projects/devCenterProjectName",
      "location": "eastus",
      "name": "devCenterProjectName",
      "provisioningState": "Succeeded",
      "resourceGroup": "resourceGroupName",
      "systemData": { ... },
      "type": "microsoft.devcenter/projects"
    }
    

Préparer les fichiers de configuration du pool DevOps gérés

La mdp pool create méthode a plusieurs paramètres qui prennent des valeurs JSON qui configurent différents aspects du pool.

  • agent-profile spécifie si le pool est avec état ou sans état et contient la planification de l’agent de secours. Il s’agit d’un dictionnaire avec une clé unique nommée ou Stateful Stateless, selon la configuration de votre agent souhaité. Pour plus d’informations sur les propriétés, consultez Configurer la mise à l’échelle.agent-profile
  • fabric-profile spécifie la taille de l’agent, les images de machine virtuelle, le disque du système d’exploitation et le stockage attaché. Pour plus d’informations sur les fabric-profile propriétés, consultez Configurer les paramètres du pool et Configurer un stockage supplémentaire.
  • organization-profile spécifie les organisations et projets Azure DevOps qui peuvent utiliser le pool. Pour plus d’informations sur organization-profile les paramètres, consultez Configurer les paramètres de sécurité - Configurer l’accès de l’organisation.

Créez les trois fichiers suivants et enregistrez-les dans le dossier dans lequel vous prévoyez d’exécuter les commandes Azure CLI pour créer le pool.

  1. Créez un nom de fichier agent-profile.json avec le contenu suivant.

    {
      "Stateless": {}
    }
    

    Cette configuration spécifie un agent sans état pour votre pool.

  2. Créez un fichier nommé fabric-profile.json avec le contenu suivant.

    {
      "vmss": {
        "sku": {
          "name": "Standard_D2as_v5"
        },
        "images": [
          {
            "aliases": [
              "ubuntu-22.04"
            ],
            "buffer": "*",
            "wellKnownImageName": "ubuntu-22.04/latest"
          }
        ],
        "osProfile": {
          "secretsManagementSettings": {
            "observedCertificates": [],
            "keyExportable": false
          },
          "logonType": "Service"
        },
        "storageProfile": {
          "osDiskStorageAccountType": "Standard",
          "dataDisks": []
        }
      }
    }
    

    Cette configuration spécifie un pool à l’aide de l’image Standard_D2as_v5, de l’image Ubuntu-22.04 Azure Pipelines et d’un type de disque de système d’exploitation Standard sans disque de données attaché.

  3. Créez un fichier nommé organization-profile.json avec le contenu suivant. Remplacez <organization-name> par le nom de votre organisation Azure DevOps.

    {
      "AzureDevOps": {
        "organizations": [
          {
            "url": "https://dev.azure.com/<organization-name>",
            "projects": [],
            "parallelism": 1
          }
        ],
        "permissionProfile": {
          "kind": "CreatorOnly"
        }
      }
    }
    

    Cette configuration spécifie un pool disponible pour tous les projets de votre organisation Azure DevOps.

Créer le pool DevOps managé

  1. Installez l’extension mdp et vérifiez qu’elle est mise à niveau vers la dernière version si elle est déjà installée.

     az extension add --name mdp --upgrade
    
  2. Créez le pool DevOps managé en exécutant la commande az mdp pool create suivante.

    az mdp pool create -n $POOL_NAME \
       -g $RESOURCE_GROUP_NAME \
       -l $REGION \
       --devcenter-project-id $DEVCPID \
       --maximum-concurrency 1 \
       --agent-profile agent-profile.json \
       --fabric-profile fabric-profile.json \
       --organization-profile organization-profile.json
    

    Si votre abonnement n’a pas la capacité de configurer votre pool avec la référence SKU de machine virtuelle Azure souhaitée et le nombre maximal d’agents, la création du pool échoue avec une erreur similaire au message suivant. Cores needed to complete this request is 2, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97. Pour résoudre le problème, consultez Passer en revue les quotas de pools DevOps gérés.

Afficher votre pool créé dans le Portail Azure

  1. Connectez-vous au portail Azure.

  2. Recherchez les pools DevOps managés et sélectionnez-le dans les options disponibles.

  3. Choisissez votre nouveau pool DevOps managé dans la liste.

  4. Choisissez l’affichage JSON pour afficher le format JSON de votre ressource pools DevOps managés.

    Capture d’écran du bouton Affichage JSON dans la vue d’ensemble du pool.

Afficher le pool d’agents dans Azure DevOps

  1. Accédez au portail Azure DevOps et connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Accédez aux paramètres de l’organisation Azure DevOps>.

    Capture d’écran du bouton Paramètres de l’organisation.

  3. Accédez aux pools De pipelines>Agent et vérifiez que votre nouveau pool est répertorié. Si vous venez de créer le pool DevOps managé, il peut prendre quelques instants pour que le nouveau pool apparaisse dans la liste des agents.

    Capture d’écran de la liste des pools d’agents.

Exécuter un pipeline dans votre nouveau pool

Dans cette étape, nous allons créer un pipeline simple dans le référentiel par défaut d’un projet Azure DevOps et l’exécuter dans votre nouveau pool DevOps managé.

  1. Accédez au portail Azure DevOps et connectez-vous à votre organisation Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Accédez au projet dans lequel vous souhaitez exécuter le pipeline, puis choisissez Pipelines.

    Capture d’écran de la liste Projets.

  3. Choisissez Nouveau pipeline (ou Créez un pipeline s’il s’agit de votre premier pipeline).

    Capture d’écran du bouton nouveau pipeline.

  4. Choisissez Git Azure Repos.

    Capture d’écran des types de référentiels.

  5. Choisissez le référentiel portant le même nom que votre projet. Dans cet exemple, le projet est nommé FabrikamFiber. Nous choisissons donc le dépôt portant le même nom.

    Capture d’écran du dépôt FabrikamFiber.

  6. Choisissez Pipeline de démarrage.

    Capture d’écran de la liste des modèles de pipeline.

  7. Par défaut, le modèle de démarrage utilise un agent Linux hébergé par Microsoft. Modifiez le modèle de pipeline et modifiez la pool section afin qu’elle fasse référence au pool que vous avez créé lors des étapes précédentes.

    # Change these two lines as shown in the following example.
     pool:
      vmImage: ubuntu-latest
    

    Dans cet exemple, les pools DevOps managés sont nommés fabrikam-managed-pool, donc remplacez vmImage: ubuntu-latest par name: fabrikam-managed-poolset spécifiez le nom de votre pool DevOps managé.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Choisissez Enregistrer et exécuter, puis enregistrez et exécutez une deuxième fois pour confirmer.

    Capture d’écran du bouton Enregistrer et exécuter.

  9. S’il s’agit de la première exécution du pipeline dans ce pool, vous pouvez être invité à accorder des autorisations avant l’exécution du pipeline.

  10. Regardez l’exécution du pipeline dans Azure DevOps, et vous pouvez basculer vers le Portail Azure et voir l’agent en cours d’exécution dans la vue Agents.

Nettoyer les ressources

Si vous ne souhaitez pas continuer à utiliser cette application, supprimez le groupe de ressources, le centre de développement, le projet du centre de développement et le pool DevOps géré. Ce guide de démarrage rapide a créé toutes les ressources d’un nouveau groupe de ressources. Vous pouvez donc les supprimer à l’aide de la commande az group delete pour supprimer le groupe de ressources et toutes ses ressources.

az group delete -n $RESOURCE_GROUP_NAME

Voir aussi