Freigeben über


Schnellstart: Erstellen eines verwalteten DevOps-Pools mit Azure CLI

In diesem Artikel erfahren Sie, wie Sie einen verwalteten DevOps-Pool mit Azure CLI erstellen und eine Pipeline darin ausführen.

Voraussetzungen

Bevor Sie die Schritte in diesem Artikel ausführen, müssen Sie Ihr Azure-Abonnement und Ihre Azure DevOps-Organisation für die Verwendung mit verwalteten DevOps-Pools konfiguriert haben, wie im Artikel "Voraussetzungen" beschrieben. Diese Schritte müssen nur einmal pro Azure-Abonnement und Azure DevOps-Organisation abgeschlossen werden.

Installieren oder Ausführen in Azure Cloud Shell

Am einfachsten erfahren Sie, wie Sie die Azure CLI verwenden können, indem Sie eine Bash-Umgebung in Azure Cloud Shell über Ihren Browser ausführen. Informationen zu Cloud Shell finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

Wenn Sie bereit sind, die Azure CLI zu installieren, lesen Sie die Installationsanweisungen für Windows, Linux, macOS und Docker-Container.

Überprüfen Sie Ihre Version, indem Sie diese ausführen az --version. Azure Cloud Shell verfügt immer über die neueste Version der vorinstallierten Azure CLI.

az version

Melden Sie sich bei der Azure-Befehlszeilenschnittstelle an.

Öffnen Sie eine Eingabeaufforderung (unter Windows, verwenden Sie die Windows-Eingabeaufforderung oder PowerShell), und führen Sie die folgenden Befehle aus. Wenn Sie Azure Cloud Shell verwenden, müssen Sie es nicht ausführenaz login, es sei denn, Sie möchten ein anderes Konto verwenden.

  1. Melden Sie sich bei Azure CLI an.

    az login
    
  2. Wenn Sie über mehrere Azure-Abonnements verfügen, legen Sie Ihr Azure-Standardabonnement fest.

    az account set --subscription "My subscription name"
    

    Um eine Liste Ihrer Abonnements abzurufen, können Sie den folgenden Befehl ausführen.

    az account list -o table
    

    Wenn Sie über mehrere Mandanten verfügen oder weitere Informationen zum Arbeiten mit Azure-Abonnements mit Azure CLI anzeigen möchten, lesen Sie , wie Sie Azure-Abonnements mit der Azure CLI verwalten.

Definieren von Umgebungsvariablen

  1. Führen Sie die folgenden Befehle aus, um die Namen für die Ressourcen in dieser Schnellstartanleitung zu generieren. In diesem Beispiel wird die EastUS2 Region verwendet. Ersetzen Sie sie EastUS2 durch Ihre gewünschte Region.

    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. Führen Sie die folgenden Befehle aus, um Die Ressourcennamen zu überprüfen.

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

Erstellen einer Ressourcengruppe

  1. Führen Sie den folgenden Befehl aus, um die Ressourcengruppe zu erstellen, um die in dieser Schnellstartanleitung verwendeten Ressourcen zu enthalten.

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

Erstellen eines Dev Center- und Dev Center-Projekts

  1. Installieren Sie die Azure CLI-Erweiterung devcenter , und stellen Sie sicher, dass sie auf die neueste Version aktualisiert wird, wenn sie bereits installiert ist.

    az extension add --name devcenter --upgrade
    
  2. Führen Sie die folgenden Befehle aus, um ein Dev Center- und Dev Center-Projekt zu erstellen.

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

    Nach ein paar Momenten gibt die Ausgabe an, dass das Dev Center erstellt wurde. Das id erstellte Dev Center wird gespeichert DEVCID und zum Erstellen des Dev Center-Projekts verwendet.

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

    Nach ein paar weiteren Momenten gibt die Ausgabe an, dass das Dev Center-Projekt erstellt wurde. Das id erstellte Dev Center-Projekt wird gespeichert DEVCPID und wird beim Erstellen des verwalteten DevOps-Pools im nächsten Abschnitt verwendet.

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

Vorbereiten der Konfigurationsdateien des verwalteten DevOps-Pools

Die mdp pool create Methode verfügt über mehrere Parameter, die JSON-Werte verwenden, die unterschiedliche Aspekte des Pools konfigurieren.

Erstellen Sie die folgenden drei Dateien, und speichern Sie sie in dem Ordner, in dem Sie die Azure CLI-Befehle ausführen möchten, um den Pool zu erstellen.

  1. Erstellen Sie einen Dateinamen agent-profile.json mit dem folgenden Inhalt.

    {
      "Stateless": {}
    }
    

    Diese Konfiguration gibt einen zustandslosen Agent für Ihren Pool an.

  2. Erstellen Sie eine Datei mit dem Namen fabric-profile.json mit dem folgenden Inhalt.

    {
      "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": []
        }
      }
    }
    

    Diese Konfiguration gibt einen Pool mit dem Standard_D2as_v5 Image, dem Ubuntu-22.04 Azure Pipelines-Image und einem Standard-Betriebssystemdatenträgertyp ohne angefügten Datenträger an.

  3. Erstellen Sie eine Datei mit dem Namen organization-profile.json mit dem folgenden Inhalt. Ersetzen Sie den <organization-name> Namen für Ihre Azure DevOps-Organisation.

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

    Diese Konfiguration gibt einen Pool an, der für alle Projekte in Ihrer Azure DevOps-Organisation verfügbar ist.

Erstellen des verwalteten DevOps-Pools

  1. Installieren Sie die mdp Erweiterung, und stellen Sie sicher, dass sie auf die neueste Version aktualisiert wird, wenn sie bereits installiert ist.

     az extension add --name mdp --upgrade
    
  2. Erstellen Sie den verwalteten DevOps-Pool, indem Sie den folgenden Befehl zum Erstellen des az mdp-Pools ausführen.

    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
    

    Wenn Ihr Abonnement nicht über die Kapazität zum Konfigurieren Ihres Pools mit der gewünschten Azure VM-SKU und der maximalen Anzahl von Agents verfügt, schlägt die Poolerstellung mit einem Fehler wie die folgende Meldung fehl. 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. Informationen zum Beheben des Problems finden Sie unter Überprüfen von Kontingenten für Managed DevOps-Pools.

Anzeigen des erstellten Pools im Azure-Portal

  1. Melden Sie sich beim Azure-Portal an.

  2. Suchen Sie nach verwalteten DevOps-Pools , und wählen Sie sie aus den verfügbaren Optionen aus.

  3. Wählen Sie ihren neuen verwalteten DevOps-Pool aus der Liste aus.

  4. Wählen Sie JSON-Ansicht aus, um das JSON-Format Ihrer Ressource für verwaltete DevOps-Pools anzuzeigen.

    Screenshot der Schaltfläche

Anzeigen des Agentpools in Azure DevOps

  1. Wechseln Sie zum Azure DevOps-Portal, und melden Sie sich bei Ihrer Azure DevOps-Organisation an (https://dev.azure.com/{your-organization}).

  2. Wechseln Sie zu den Azure DevOps-Organisationseinstellungen>.

    Screenshot der Schaltfläche

  3. Wechseln Sie zu Pipelines-Agent-Pools>, und stellen Sie sicher, dass Ihr neuer Pool aufgeführt ist. Wenn Sie gerade den verwalteten DevOps-Pool erstellt haben, kann es einige Minuten dauern, bis der neue Pool in der Agentsliste angezeigt wird.

    Screenshot der Liste der Agentpools.

Ausführen einer Pipeline in Ihrem neuen Pool

In diesem Schritt erstellen wir eine einfache Pipeline im Standard-Repository eines Azure DevOps-Projekts und führen sie in Ihrem neuen verwalteten DevOps-Pool aus.

  1. Wechseln Sie zum Azure DevOps-Portal, und melden Sie sich bei Ihrer Azure DevOps-Organisation an (https://dev.azure.com/{your-organization}).

  2. Wechseln Sie zu dem Projekt, in dem Sie die Pipeline ausführen möchten, und wählen Sie "Pipelines" aus.

    Screenshot der Liste

  3. Wählen Sie "Neue Pipeline " aus (oder "Pipeline erstellen", wenn dies Ihre erste Pipeline ist).

    Screenshot der Schaltfläche

  4. Wählen Sie Azure Repos Git aus.

    Screenshot der Repositorytypen.

  5. Wählen Sie das Repository aus, das denselben Namen wie Ihr Projekt hat. In diesem Beispiel heißt das Projekt "FabrikamFiber", daher wählen wir das Repository mit demselben Namen aus.

    Screenshot des FabrikamFiber-Repositorys.

  6. Wählen Sie "Startpipeline" aus.

    Screenshot der Pipelinevorlagenliste.

  7. Standardmäßig verwendet die Startvorlage einen von Microsoft gehosteten Linux-Agent. Bearbeiten Sie die Pipelinevorlage, und ändern Sie den pool Abschnitt so, dass er sich auf den Pool bezieht, den Sie in den vorherigen Schritten erstellt haben.

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

    In diesem Beispiel heißt der Name fabrikam-managed-poolder verwalteten DevOps-Pools , ersetzen Sie vmImage: ubuntu-latest also durch name: fabrikam-managed-pools, und geben Sie den Namen Ihres verwalteten DevOps-Pools an.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Wählen Sie "Speichern und ausführen" aus, und wählen Sie "Speichern" aus, und führen Sie zum Bestätigen ein zweites Mal aus.

    Screenshot der Schaltfläche

  9. Wenn dies die erste Pipeline ist, die in diesem Pool ausgeführt wird, werden Sie möglicherweise aufgefordert, Berechtigungen zu erteilen, bevor die Pipeline ausgeführt wird.

  10. Beobachten Sie, wie die Pipeline in Azure DevOps ausgeführt wird, und Sie können zum Azure-Portal wechseln und den ausgeführten Agent in der Ansicht "Agents" anzeigen.

Bereinigen von Ressourcen

Wenn Sie diese Anwendung nicht weiterhin verwenden werden, löschen Sie die Ressourcengruppe, das Dev Center, das Dev Center-Projekt und den Verwalteten DevOps-Pool. Mit dieser Schnellstartanleitung wurden alle Ressourcen in einer neuen Ressourcengruppe erstellt, sodass Sie sie alle löschen können, indem Sie den Befehl "az group delete " verwenden, um die Ressourcengruppe und alle zugehörigen Ressourcen zu löschen.

az group delete -n $RESOURCE_GROUP_NAME

Siehe auch