Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie einen verwalteten DevOps-Pool mit Azure CLI erstellen und eine Pipeline darin ausführen.
Voraussetzungen
Voraussetzungen für verwaltete DevOps-Pools
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.
Voraussetzungen für Azure CLI
Wenn Sie die Azure CLI-Befehle auf Ihrem lokalen Computer ausführen möchten, lesen Sie die Anweisungen zur Azure CLI-Installation. Wenn Sie Azure CLI bereits installiert haben, führen Sie die Ausführung aus
az version, um Ihre Version zu überprüfen. Die Azure CLI-Erweiterung für verwaltete DevOps-Pools erfordert Azure CLI Version 2.57.0 oder höher. Wenn Ihre Azure CLI unter 2.57.0 ist, führen Sie den Befehl ausaz upgrade. Weitere Informationen finden Sie unter Aktualisieren von Azure CLI.Wenn Sie Azure Cloud Shell über Ihren Browser verwenden möchten, befolgen Sie die Anweisungen in "Erste Schritte mit Azure Cloud Shell ephemeral Sitzungen ", um den Microsoft.CloudShell-Namespace zu registrieren. Sie müssen den Namespace nur einmal pro Abonnement registrieren.
In den folgenden Beispielen wird bash verwendet. Wenn Sie Azure Cloud Shell verwenden, wählen Sie "Bash " aus, wenn Sie Azure Cloud Shell starten.
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.
Melden Sie sich bei der Azure CLI an. Wenn Sie Azure Cloud Shell verwenden, müssen Sie es nicht ausführen
az login, es sei denn, Sie möchten ein anderes Konto verwenden.az loginWenn 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 tableWenn 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
Führen Sie die folgenden Befehle aus, um die Namen für die Ressourcen in dieser Schnellstartanleitung zu generieren. In diesem Beispiel wird die
EastUS2Region verwendet. Ersetzen Sie sieEastUS2durch Ihre gewünschte Region.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
Erstellen einer Ressourcengruppe
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
Führen Sie den folgenden Befehl aus, der die Azure CLI-Erweiterung
devcenterinstalliert, wenn sie nicht installiert ist, und aktualisiert sie auf die neueste Version, wenn sie bereits installiert ist.az extension add --name devcenter --upgradeFü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
iderstellte Dev Center wird gespeichertDEVCIDund 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
iderstellte Dev Center-Projekt wird gespeichertDEVCPIDund 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.
-
agent-profileGibt an, ob der Pool zustands- oder zustandslos ist und den Standby-Agent-Zeitplan enthält. Es handelt sich um ein Wörterbuch mit einem einzelnen Schlüssel mit dem Namen oderStatefulStateless, je nach der gewünschten Agentkonfiguration. Weitere Informationen zuagent-profileEigenschaften finden Sie unter Konfigurieren der Skalierung. -
fabric-profileGibt die Agentgröße, VM-Images, Betriebssystemdatenträger und angefügten Speicher an. Weitere Informationen zu denfabric-profileEigenschaften finden Sie unter Konfigurieren von Pooleinstellungen und Konfigurieren zusätzlicher Speicher. -
organization-profileGibt die Azure DevOps-Organisationen und -Projekte an, die den Pool verwenden können. Weitere Informationen zuorganization-profileEinstellungen finden Sie unter Konfigurieren von Sicherheitseinstellungen – Konfigurieren des Organisationszugriffs.
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.
Erstellen Sie eine Datei mit dem Namen agent-profile.json mit dem folgenden Inhalt.
{ "Stateless": {} }Diese Konfiguration gibt einen zustandslosen Agent für Ihren Pool an.
Erstellen Sie eine Datei mit dem Namen fabric-profile.json mit dem folgenden Inhalt.
{ "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": [] } } }Diese Konfiguration gibt einen Pool mit dem Standard_D2as_v5 Image, dem Ubuntu-24.04Azure Pipelines-Image und einem Standard-Betriebssystemdatenträgertyp ohne angehängten Datenträger an.
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.{ "AzureDevOps": { "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
Führen Sie den folgenden Befehl aus, der die Azure CLI-Erweiterung
mdpinstalliert, wenn sie nicht installiert ist, und aktualisiert sie auf die neueste Version, wenn sie bereits installiert ist.az extension add --name mdp --upgradeErstellen 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.jsonWenn 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
Melden Sie sich beim Azure-Portal an.
Suchen Sie nach verwalteten DevOps-Pools , und wählen Sie sie aus den verfügbaren Optionen aus.
Wählen Sie ihren neuen verwalteten DevOps-Pool aus der Liste aus.
Wählen Sie JSON-Ansicht aus, um das JSON-Format Ihrer Ressource für verwaltete DevOps-Pools anzuzeigen.
Anzeigen des Agentpools in Azure DevOps
Wechseln Sie zum Azure DevOps-Portal, und melden Sie sich bei Ihrer Azure DevOps-Organisation an (
https://dev.azure.com/{your-organization}).Wechseln Sie zu den Azure DevOps-Organisationseinstellungen>.
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.
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.
Wechseln Sie zum Azure DevOps-Portal, und melden Sie sich bei Ihrer Azure DevOps-Organisation an (
https://dev.azure.com/{your-organization}).Wechseln Sie zu dem Projekt, in dem Sie die Pipeline ausführen möchten, und wählen Sie "Pipelines" aus.
Wählen Sie "Neue Pipeline " aus (oder "Pipeline erstellen", wenn dies Ihre erste Pipeline ist).
Wählen Sie Azure Repos Git aus.
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.
Wählen Sie "Startpipeline" aus.
Standardmäßig verwendet die Startvorlage einen von Microsoft gehosteten Linux-Agent. Bearbeiten Sie die Pipelinevorlage, und ändern Sie den
poolAbschnitt 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-latestIn diesem Beispiel heißt der Name
fabrikam-managed-poolder verwalteten DevOps-Pools , ersetzen SievmImage: ubuntu-latestalso durchname: fabrikam-managed-pool, 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-poolWählen Sie "Speichern und ausführen" aus, und wählen Sie "Speichern" aus, und führen Sie zum Bestätigen ein zweites Mal aus.
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. Weitere Informationen finden Sie unter Diese Pipeline benötigt die Berechtigung für den Zugriff auf eine Ressource, bevor diese Ausführung fortgesetzt werden kann.
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