Snabbstart: Skapa en hanterad DevOps-pool med Azure CLI
Den här artikeln visar hur du skapar en hanterad DevOps-pool med hjälp av Azure CLI och kör en pipeline i den.
Förutsättningar
Innan du slutför stegen i den här artikeln måste du ha konfigurerat din Azure-prenumeration och Azure DevOps-organisation för användning med Hanterade DevOps-pooler enligt beskrivningen i artikeln Krav . De här stegen behöver bara slutföras en gång per Azure-prenumeration och Azure DevOps-organisation.
Installera eller köra i Azure Cloud Shell
Det enklaste sättet att lära sig hur du använder Azure CLI är att köra en Bash-miljö i Azure Cloud Shell via webbläsaren. Mer information om Cloud Shell finns i Snabbstart för Bash i Azure Cloud Shell.
När du är redo att installera Azure CLI kan du läsa installationsanvisningarna för Windows, Linux, macOS och Docker-containern.
Kontrollera din version genom att köra az --version
. Azure Cloud Shell har alltid den senaste versionen av Azure CLI förinstallerad.
az version
Logga in på Azure CLI
Öppna en kommandotolk (i Windows, använd Windows-kommandotolken eller PowerShell) och kör följande kommandon. Om du använder Azure Cloud Shell behöver du inte köra az login
om du inte vill använda ett annat konto.
Logga in på Azure CLI.
az login
Om du har fler än en Azure-prenumeration anger du din standardprenumeration för Azure.
az account set --subscription "My subscription name"
Om du vill hämta en lista över dina prenumerationer kan du köra följande kommando.
az account list -o table
Om du har flera klienter eller vill se mer information om hur du arbetar med Azure-prenumerationer med Hjälp av Azure CLI kan du läsa Så här hanterar du Azure-prenumerationer med Azure CLI.
Definiera miljövariabler
Kör följande kommandon för att generera namnen på resurserna i den här snabbstarten. I det
EastUS2
här exemplet används regionen. ErsättEastUS2
med önskad 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"
Kör följande kommandon för att granska resursnamnen.
echo $RESOURCE_GROUP_NAME echo $POOL_NAME echo $DEV_CENTER_NAME echo $DEV_CENTER_PROJECT_NAME echo $REGION
Skapa en resursgrupp
Kör följande kommando för att skapa resursgruppen som ska innehålla de resurser som används i den här snabbstarten.
az group create --name $RESOURCE_GROUP_NAME --location $REGION
Skapa ett dev center- och dev center-projekt
Installera Azure CLI-tillägget
devcenter
och se till att det uppgraderas till den senaste versionen om det redan är installerat.az extension add --name devcenter --upgrade
Kör följande kommandon för att skapa ett dev center- och dev center-projekt.
# 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)
Efter en liten stund indikerar utdata att Dev Center skapades. Det
id
skapade utvecklingscentret sparas iDEVCID
och används för att skapa dev center-projektet.{ "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" }
Efter en liten stund indikerar utdata att dev center-projektet skapades. Det
id
skapade dev center-projektet sparas iDEVCPID
och används när du skapar den hanterade DevOps-poolen i nästa avsnitt.{ "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" }
Förbereda konfigurationsfilerna för Hanterad DevOps-pool
Metoden mdp pool create
har flera parametrar som tar JSON-värden som konfigurerar olika aspekter av poolen.
agent-profile
anger om poolen är tillståndskänslig eller tillståndslös och innehåller standby-agentschemat. Det är en ordlista med en enda nyckel med namnet antingenStateful
ellerStateless
, beroende på din önskade agentkonfiguration. Mer information omagent-profile
egenskaper finns i Konfigurera skalning.fabric-profile
anger agentstorlek, VM-avbildningar, OS-disk och ansluten lagring. Mer information om egenskaperna finns ifabric-profile
Konfigurera poolinställningar och Konfigurera ytterligare lagring.organization-profile
anger de Azure DevOps-organisationer och projekt som kan använda poolen. Mer information omorganization-profile
inställningar finns i Konfigurera säkerhetsinställningar – Konfigurera organisationsåtkomst.
Skapa följande tre filer och spara dem i mappen där du planerar att köra Azure CLI-kommandona för att skapa poolen.
Skapa ett filnamn agent-profile.json med följande innehåll.
{ "Stateless": {} }
Den här konfigurationen anger en tillståndslös agent för din pool.
Skapa en fil med namnet fabric-profile.json med följande innehåll.
{ "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": [] } } }
Den här konfigurationen anger en pool med avbildningen Standard_D2as_v5, avbildningen ubuntu-22.04 Azure Pipelines och en Standard OS Disk-typ utan ansluten datadisk.
Skapa en fil med namnet organization-profile.json med följande innehåll. Ersätt
<organization-name>
med namnet på din Azure DevOps-organisation.{ "azure-dev-ops": { "organizations": [ { "url": "https://dev.azure.com/<organization-name>", "projects": [], "parallelism": 1 } ], "permissionProfile": { "kind": "CreatorOnly" } } }
Den här konfigurationen anger en pool som är tillgänglig för alla projekt i din Azure DevOps-organisation.
Skapa den hanterade DevOps-poolen
mdp
Installera tillägget och se till att det uppgraderas till den senaste versionen om det redan är installerat.az extension add --name mdp --upgrade
Skapa den hanterade DevOps-poolen genom att köra följande az mdp pool create-kommando .
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
Om din prenumeration inte har kapacitet att konfigurera poolen med önskad SKU för virtuella Azure-datorer och maximalt antal agenter misslyckas skapande av pooler med ett fel som liknar följande meddelande.
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
. Information om hur du löser problemet finns i Granska kvoter för hanterade DevOps-pooler.
Visa din skapade pool i Azure Portal
Logga in på Azure-portalen.
Sök efter Hanterade DevOps-pooler och välj den bland de tillgängliga alternativen.
Välj din nya hanterade DevOps-pool i listan.
Välj JSON-vy för att se JSON-formatet för din resurs för hanterade DevOps-pooler.
Visa agentpoolen i Azure DevOps
Gå till Azure DevOps-portalen och logga in på din Azure DevOps-organisation (
https://dev.azure.com/{your-organization}
).Gå till Inställningar för Azure DevOps-organisationen>.
Gå till Pipelines Agent-pooler> och kontrollera att din nya pool visas. Om du precis har skapat den hanterade DevOps-poolen kan det ta en stund innan den nya poolen visas i agentlistan.
Köra en pipeline i din nya pool
I det här steget skapar vi en enkel pipeline på standardlagringsplatsen för ett Azure DevOps-projekt och kör den i din nya hanterade DevOps-pool.
Gå till Azure DevOps-portalen och logga in på din Azure DevOps-organisation (
https://dev.azure.com/{your-organization}
).Gå till det projekt där du vill köra pipelinen och välj Pipelines.
Välj Ny pipeline (eller Skapa pipeline om det här är din första pipeline).
Välj Azure Repos Git.
Välj den lagringsplats som har samma namn som projektet. I det här exemplet heter projektet FabrikamFiber, så vi väljer lagringsplatsen med samma namn.
Välj Startpipeline.
Som standard använder startmallen en Microsoft-värdbaserad Linux-agent. Redigera pipelinemallen och ändra
pool
avsnittet så att det refererar till poolen som du skapade i föregående steg.# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latest
I det här exemplet heter
fabrikam-managed-pool
Hanterade DevOps-pooler , så ersättvmImage: ubuntu-latest
medname: fabrikam-managed-pools
och ange namnet på din hanterade DevOps-pool.# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-pool
Välj Spara och kör och välj Spara och kör en andra gång för att bekräfta.
Om det här är den första pipelinekörningen i den här poolen kan du bli ombedd att bevilja behörigheter innan pipelinen körs.
Titta på pipelinekörningen i Azure DevOps så kan du växla över till Azure Portal och se agenten som körs i vyn Agenter.
Rensa resurser
Om du inte kommer att fortsätta att använda det här programmet tar du bort resursgruppen, utvecklingscentret, dev center-projektet och den hanterade DevOps-poolen. Den här snabbstarten skapade alla resurser i en ny resursgrupp, så att du kan ta bort alla med kommandot az group delete för att ta bort resursgruppen och alla dess resurser.
az group delete -n $RESOURCE_GROUP_NAME