Condividi tramite


Guida introduttiva: Creare un pool DevOps gestito con l'interfaccia della riga di comando di Azure

Questo articolo illustra come creare un pool DevOps gestito usando l'interfaccia della riga di comando di Azure ed eseguirvi una pipeline.

Prerequisiti

  • Prerequisiti per i pool DevOps gestiti

    Prima di completare i passaggi descritti in questo articolo, è necessario aver configurato la sottoscrizione di Azure e l'organizzazione Azure DevOps per l'uso con i pool DevOps gestiti, come descritto nell'articolo Prerequisiti . Questi passaggi devono essere completati una sola volta per ogni sottoscrizione di Azure e l'organizzazione Di Azure DevOps.

  • Prerequisiti dell'interfaccia della riga di comando di Azure

    • Per eseguire i comandi dell'interfaccia della riga di comando di Azure nel computer locale, vedere le istruzioni di installazione dell'interfaccia della riga di comando di Azure. Se è già installata l'interfaccia della riga di comando di Azure, eseguire az version per verificare la versione. L'estensione dell'interfaccia della riga di comando di Azure per i pool di DevOps gestiti richiede l'interfaccia della riga di comando di Azure versione 2.57.0 o successiva. Se l'interfaccia della riga di comando di Azure è inferiore alla 2.57.0, eseguire az upgrade. Per altre informazioni, vedere Come aggiornare l'interfaccia della riga di comando di Azure.

    • Per usare Azure Cloud Shell tramite il browser, seguire le istruzioni riportate in Introduzione alle sessioni temporanee di Azure Cloud Shell per registrare lo spazio dei nomi Microsoft.CloudShell . È necessario registrare lo spazio dei nomi una sola volta per ogni sottoscrizione.

      Gli esempi seguenti usano bash, quindi se si usa Azure Cloud Shell, scegliere Bash all'avvio di Azure Cloud Shell.

Accedere all'interfaccia della riga di comando di Azure

Aprire un prompt dei comandi (in Windows, usare il prompt dei comandi di Windows o PowerShell) ed eseguire i comandi seguenti.

  1. Accedi all'Azure CLI. Se si usa Azure Cloud Shell , non è necessario eseguire az login a meno che non si voglia usare un account diverso.

    az login
    
  2. Se si dispone di più sottoscrizioni di Azure, impostare la sottoscrizione di Azure predefinita.

    az account set --subscription "My subscription name"
    

    Per ottenere un elenco delle sottoscrizioni, è possibile eseguire il comando seguente.

    az account list -o table
    

    Se si hanno più tenant o si vogliono visualizzare altre informazioni sull'uso della sottoscrizione di Azure tramite l'interfaccia della riga di comando di Azure, vedere Come gestire le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure.

Definire le variabili di ambiente

  1. Esegui i comandi seguenti per generare i nomi per le risorse in questo quickstart. In questo esempio viene usata l'area EastUS2 . Sostituire EastUS2 con l'area desiderata.

    export REGION=EastUS2
    export RANDOM_ID="$(openssl rand -hex 3)"
    export RESOURCE_GROUP_NAME="myManagedDevOpsPoolGroup$RANDOM_ID"
    export POOL_NAME="mdpPool$RANDOM_ID"
    export DEV_CENTER_NAME="mdpDevCenter$RANDOM_ID"
    export DEV_CENTER_PROJECT_NAME="mdpDevCenterProject$RANDOM_ID"
    
    # Echo the generated resource names
    echo $REGION
    echo $RESOURCE_GROUP_NAME
    echo $POOL_NAME
    echo $DEV_CENTER_NAME
    echo $DEV_CENTER_PROJECT_NAME
    

Creare un gruppo di risorse

  1. Eseguire il comando seguente per creare il gruppo di risorse in modo da contenere le risorse usate in questa guida introduttiva.

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

Creare un centro di sviluppo e un progetto del centro di sviluppo

  1. Eseguire il comando seguente, che installa l'estensione dell'interfaccia della riga di comando di Azure devcenter se non è installata e la aggiorna alla versione più recente, se è già installata.

    az extension add --name devcenter --upgrade
    
  2. Eseguire i comandi seguenti per creare un centro di sviluppo e un progetto del centro di sviluppo.

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

    Dopo alcuni istanti, l'output indica che il Dev Center è stato creato. L'oggetto id del centro di sviluppo creato viene salvato in DEVCID e viene usato per creare il progetto del centro di sviluppo.

    {
        "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"
    }
    

    Dopo alcuni istanti, l'output indica che il progetto dev center è stato creato. L'oggetto id del progetto dev center creato viene salvato in DEVCPID e viene usato durante la creazione del pool DevOps gestito nella sezione successiva.

    {
      "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"
    }
    

Preparare i file di configurazione del pool DevOps gestito

Il mdp pool create metodo ha diversi parametri che accettano valori JSON che configurano aspetti diversi del pool.

Creare i tre file seguenti e salvarli nella cartella in cui si prevede di eseguire i comandi dell'interfaccia della riga di comando di Azure per creare il pool.

  1. Creare un file denominato agent-profile.json con il contenuto seguente.

    {
      "Stateless": {}
    }
    

    Questa configurazione specifica un agente senza stato per il pool.

  2. Creare un file denominato fabric-profile.json con il contenuto seguente.

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

    Questa configurazione specifica un pool usando l'immagine Standard_D2as_v5, l'immagine ubuntu-24.04di Azure Pipelines e un tipo di disco del sistema operativoStandard senza disco dati collegato.

  3. Creare un file denominato organization-profile.json con il contenuto seguente. Sostituire <organization-name> con il nome dell'organizzazione Azure DevOps.

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

    Questa configurazione specifica un pool disponibile per tutti i progetti nell'organizzazione Azure DevOps.

Creare il pool DevOps gestito

  1. Eseguire il comando seguente, che installa l'estensione dell'interfaccia della riga di comando di Azure mdp se non è installata e la aggiorna alla versione più recente, se è già installata.

     az extension add --name mdp --upgrade
    
  2. Creare il pool DevOps gestito eseguendo il comando az mdp pool create seguente.

    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
    

    Se la sottoscrizione non ha la capacità di configurare il pool con lo SKU di macchina virtuale di Azure desiderato e il numero massimo di agenti, la creazione del pool non riesce con un errore simile al messaggio seguente. 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. Per risolvere il problema, vedere Esaminare le quote dei pool DevOps gestiti.

Visualizzare il pool creato nel portale di Azure

  1. Accedere al portale di Azure.

  2. Cercare Pool DevOps gestiti e selezionarlo nelle opzioni disponibili.

  3. Scegliere il nuovo pool DevOps gestito dall'elenco.

  4. Scegliere Visualizzazione JSON per vedere il formato JSON della risorsa Pool DevOps Gestiti.

    Screenshot del pulsante Visualizzazione JSON nella panoramica del pool.

Visualizzare il pool di agenti in Azure DevOps

  1. Passare al portale di Azure DevOps e accedere all'organizzazione di Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Passare alle impostazioni dell'organizzazione di Azure DevOps>.

    Screenshot del pulsante Impostazioni organizzazione.

  3. Passare a Pipeline>Pool agenti e verificare che il nuovo pool sia elencato. Se è stato appena creato il pool devOps gestito, la visualizzazione del nuovo pool nell'elenco degli agenti può richiedere alcuni istanti.

    Screenshot dell'elenco dei pool degli agenti.

Esegui una pipeline nel tuo nuovo pool

In questo passaggio si creerà una pipeline semplice nel repository predefinito di un progetto Azure DevOps ed eseguirla nel nuovo pool devOps gestito.

  1. Passare al portale di Azure DevOps e accedere all'organizzazione di Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Passa al progetto in cui desideri eseguire la pipeline e scegli Pipelines.

    Screenshot dell'elenco dei progetti.

  3. Scegliere Nuova pipeline (o Crea pipeline se si tratta della prima pipeline).

    Screenshot del pulsante 'nuova pipeline'.

  4. Scegliere Azure Repos Git.

    Screenshot dei tipi di repository.

  5. Scegliere il repository con lo stesso nome del progetto. In questo esempio il progetto è denominato FabrikamFiber, quindi si sceglie il repository con lo stesso nome.

    Screenshot del repository FabrikamFiber.

  6. Scegliere Pipeline iniziale.

    Screenshot dell'elenco di modelli di pipeline.

  7. Per impostazione predefinita, il modello di avvio usa un agente Linux ospitato da Microsoft. Modificare il modello di pipeline e modificare la pool sezione in modo che faccia riferimento al pool creato nei passaggi precedenti.

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

    In questo esempio, i pool di DevOps gestiti sono denominati fabrikam-managed-pool, quindi sostituire vmImage: ubuntu-latest con name: fabrikam-managed-poole specificare il nome del pool DevOps gestito.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Scegliere Salva ed esegui e scegliere Salva ed esegui una seconda volta per confermare.

    Screenshot del pulsante Salva ed Esegui.

  9. Se si tratta della prima esecuzione della pipeline in questo pool, potrebbe esserti richiesto di concedere le autorizzazioni prima che la pipeline venga eseguita. Per altre informazioni, vedere Questa pipeline richiede l'autorizzazione per accedere a una risorsa prima che l'esecuzione possa continuare.

  10. Guarda l'esecuzione della pipeline in Azure DevOps ed è possibile passare al portale di Azure e visualizzare l'agente in esecuzione nella visualizzazione Agenti.

Pulire le risorse

Se non si intende continuare a usare questa applicazione, eliminare il gruppo di risorse, il dev center, il progetto dev center e il pool DevOps gestito. Questa guida introduttiva ha creato tutte le risorse in un nuovo gruppo di risorse, quindi è possibile eliminarle tutte usando il comando az group delete per eliminare il gruppo di risorse e tutte le relative risorse.

az group delete -n $RESOURCE_GROUP_NAME

Vedi anche