Quickstart: Een beheerde DevOps-pool maken met behulp van Azure CLI
In dit artikel leest u hoe u een beheerde DevOps-pool maakt met behulp van Azure CLI en hoe u er een pijplijn in uitvoert.
Vereisten
Voordat u de stappen in dit artikel uitvoert, hebt u uw Azure-abonnement en Azure DevOps-organisatie geconfigureerd voor gebruik met beheerde DevOps-pools, zoals beschreven in het artikel Vereisten artikel. Deze stappen moeten slechts eenmaal per Azure-abonnement en Azure DevOps-organisatie worden voltooid.
Installeren of uitvoeren in Azure Cloud Shell
De eenvoudigste manier om te leren hoe u de Azure CLI gebruikt, is door een Bash-omgeving in Azure Cloud Shell uit te voeren via uw browser. Voor meer informatie over Cloud Shell raadpleegt u Snelstart voor Bash in Azure Cloud Shell.
Wanneer u klaar bent om de Azure CLI te installeren, raadpleegt u de installatie-instructies voor Windows-, Linux-, macOS- en Docker-container.
Controleer uw versie door uit te voeren az --version
. Azure Cloud Shell heeft altijd de nieuwste versie van de Azure CLI die vooraf is geïnstalleerd.
az version
Aanmelden bij de Azure CLI
Open een opdrachtprompt (in Windows, gebruik de Windows-opdrachtprompt of PowerShell) en voer de volgende opdrachten uit. Als u Azure Cloud Shell gebruikt, hoeft u niet te worden uitgevoerd az login
, tenzij u een ander account wilt gebruiken.
Meld u aan bij Azure CLI.
az login
Als u meer dan één Azure-abonnement hebt, stelt u uw standaard Azure-abonnement in.
az account set --subscription "My subscription name"
Als u een lijst met uw abonnementen wilt ophalen, kunt u de volgende opdracht uitvoeren.
az account list -o table
Als u meerdere tenants hebt of meer informatie wilt over het werken met een Azure-abonnement met behulp van Azure CLI, raadpleegt u Hoe u Azure-abonnementen beheert met de Azure CLI.
Omgevingsvariabelen definiëren
Voer de volgende opdrachten uit om de namen voor de resources in deze quickstart te genereren. In dit voorbeeld wordt de
EastUS2
regio gebruikt. Vervang doorEastUS2
de gewenste regio.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"
Voer de volgende opdrachten uit om de resourcenamen te controleren.
echo $RESOURCE_GROUP_NAME echo $POOL_NAME echo $DEV_CENTER_NAME echo $DEV_CENTER_PROJECT_NAME echo $REGION
Een brongroep maken
Voer de volgende opdracht uit om de resourcegroep te maken die de resources bevat die in deze quickstart worden gebruikt.
az group create --name $RESOURCE_GROUP_NAME --location $REGION
Een ontwikkelaarscentrum- en ontwikkelaarscentrumproject maken
Installeer de Azure CLI-extensie
devcenter
en zorg ervoor dat deze wordt bijgewerkt naar de nieuwste versie als deze al is geïnstalleerd.az extension add --name devcenter --upgrade
Voer de volgende opdrachten uit om een ontwikkelaarscentrum- en ontwikkelaarscentrumproject te maken.
# 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)
Na enkele ogenblikpen geeft de uitvoer aan dat het Ontwikkelaarscentrum is gemaakt. Het
id
gemaakte ontwikkelaarscentrum wordt opgeslagen inDEVCID
en wordt gebruikt om het ontwikkelaarscentrumproject te maken.{ "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" }
Na enkele ogenblikpen geeft de uitvoer aan dat het ontwikkelaarscentrumproject is gemaakt. Het
id
gemaakte ontwikkelaarscentrumproject wordt opgeslagen inDEVCPID
en wordt gebruikt bij het maken van de beheerde DevOps-pool in de volgende sectie.{ "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" }
De configuratiebestanden van de beheerde DevOps-pool voorbereiden
De mdp pool create
methode heeft verschillende parameters die JSON-waarden gebruiken waarmee verschillende aspecten van de pool worden geconfigureerd.
-
agent-profile
geeft aan of de pool stateful of stateless is en het stand-byagentschema bevat. Het is een woordenlijst met één sleutel met de naam ofStateful
Stateless
, afhankelijk van de gewenste agentconfiguratie. Zieagent-profile
configureren voor meer informatie over eigenschappen. -
fabric-profile
hiermee geeft u de agentgrootte, VM-installatiekopieën, besturingssysteemschijf en gekoppelde opslag op. Ziefabric-profile
configureren en Aanvullende opslag configureren voor meer informatie over de eigenschappen. -
organization-profile
hiermee geeft u de Azure DevOps-organisaties en -projecten op die de pool kunnen gebruiken. Zieorganization-profile
configureren voor meer informatie over instellingen.
Maak de volgende drie bestanden en sla deze op in de map waarin u de Azure CLI-opdrachten wilt uitvoeren om de pool te maken.
Maak een bestandsnaam agent-profile.json met de volgende inhoud.
{ "Stateless": {} }
Met deze configuratie wordt een stateless agent voor uw pool opgegeven.
Maak een bestand met de naam fabric-profile.json met de volgende inhoud.
{ "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": [] } } }
Met deze configuratie geeft u een pool op met behulp van de Standard_D2as_v5-installatiekopie, de ubuntu-22.04Azure Pipelines-installatiekopie en een standaardbesturingssysteemschijftype zonder gekoppelde gegevensschijf.
Maak een bestand met de naam organization-profile.json met de volgende inhoud. Vervang
<organization-name>
door de naam voor uw Azure DevOps-organisatie.{ "AzureDevOps": { "organizations": [ { "url": "https://dev.azure.com/<organization-name>", "projects": [], "parallelism": 1 } ], "permissionProfile": { "kind": "CreatorOnly" } } }
Met deze configuratie geeft u een pool op die beschikbaar is voor alle projecten in uw Azure DevOps-organisatie.
De beheerde DevOps-pool maken
Installeer de
mdp
extensie en zorg ervoor dat deze wordt bijgewerkt naar de nieuwste versie als deze al is geïnstalleerd.az extension add --name mdp --upgrade
Maak de beheerde DevOps-pool door de volgende opdracht az mdp pool create uit te voeren.
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
Als uw abonnement niet over de capaciteit beschikt om uw pool te configureren met de gewenste Azure VM-SKU en het maximumaantal agents, mislukt het maken van een pool met een fout die vergelijkbaar is met het volgende bericht.
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
. Zie Quota voor beheerde DevOps-pools controleren om het probleem op te lossen.
Uw gemaakte pool weergeven in Azure Portal
Meld u aan bij het Azure-portaal.
Zoek naar beheerde DevOps-pools en selecteer deze in de beschikbare opties.
Kies uw nieuwe beheerde DevOps-pool in de lijst.
Kies de JSON-weergave om de JSON-indeling van de resource beheerde DevOps-pools weer te geven.
De agentpool weergeven in Azure DevOps
Ga naar de Azure DevOps-portal en meld u aan bij uw Azure DevOps-organisatie (
https://dev.azure.com/{your-organization}
).Ga naar de azure DevOps-organisatie-instellingen>.
Ga naar pijplijnagentpools> en controleer of uw nieuwe pool wordt vermeld. Als u zojuist de beheerde DevOps-pool hebt gemaakt, kan het even duren voordat de nieuwe pool wordt weergegeven in de lijst met agents.
Een pijplijn uitvoeren in uw nieuwe pool
In deze stap maken we een eenvoudige pijplijn in de standaardopslagplaats van een Azure DevOps-project en voeren we dit uit in uw nieuwe beheerde DevOps-pool.
Ga naar de Azure DevOps-portal en meld u aan bij uw Azure DevOps-organisatie (
https://dev.azure.com/{your-organization}
).Ga naar het project waar u de pijplijn wilt uitvoeren en kies Pijplijnen.
Kies Nieuwe pijplijn (of Pijplijn maken als dit uw eerste pijplijn is).
Kies Git voor Azure-opslagplaatsen.
Kies de opslagplaats met dezelfde naam als uw project. In dit voorbeeld heet het project FabrikamFiber, dus kiezen we de opslagplaats met dezelfde naam.
Kies Starter-pijplijn.
De starterssjabloon maakt standaard gebruik van een door Microsoft gehoste Linux-agent. Bewerk de pijplijnsjabloon en wijzig de
pool
sectie, zodat deze verwijst naar de pool die u in de vorige stappen hebt gemaakt.# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latest
In dit voorbeeld hebben de beheerde DevOps-pools de naam
fabrikam-managed-pool
, dus vervang deze doorvmImage: ubuntu-latest
name: fabrikam-managed-pools
en geef de naam van uw beheerde DevOps-pool op.# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-pool
Kies Opslaan en uitvoeren en kies Opslaan en voer een tweede keer uit om te bevestigen.
Als dit de eerste pijplijnuitvoering in deze pool is, wordt u mogelijk gevraagd om machtigingen te verlenen voordat de pijplijn wordt uitgevoerd.
Bekijk de pijplijnuitvoering in Azure DevOps en u kunt overschakelen naar Azure Portal en de actieve agent bekijken in de weergave Agents .
Resources opschonen
Als u deze toepassing niet wilt blijven gebruiken, verwijdert u de resourcegroep, het ontwikkelaarscentrum, het ontwikkelaarscentrumproject en de beheerde DevOps-pool. In deze quickstart zijn alle resources in een nieuwe resourcegroep gemaakt, zodat u ze allemaal kunt verwijderen met de opdracht az group delete om de resourcegroep en alle bijbehorende resources te verwijderen.
az group delete -n $RESOURCE_GROUP_NAME