Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
Krav för hanterade DevOps-pooler
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.
Krav för Azure CLI
Om du vill köra Azure CLI-kommandona på den lokala datorn kan du läsa installationsanvisningarna för Azure CLI. Om du redan har Installerat Azure CLI kör du
az version
för att kontrollera din version. Azure CLI-tillägget för hanterade DevOps-pooler kräver Azure CLI version 2.57.0 eller senare. Om azure CLI är lägre än 2.57.0 kör duaz upgrade
. Mer information finns i Så här uppdaterar du Azure CLI.Om du vill använda Azure Cloud Shell via webbläsaren följer du anvisningarna i Kom igång med tillfälliga Azure Cloud Shell-sessioner för att registrera Microsoft.CloudShell-namnområdet . Du behöver bara registrera namnområdet en gång per prenumeration.
I följande exempel används bash, så om du använder Azure Cloud Shell väljer du Bash när du startar Azure Cloud Shell.
Logga in på Azure CLI
Öppna en kommandotolk (i Windows, använd Windows-kommandotolken eller PowerShell) och kör följande kommandon.
Logga in på Azure CLI. Om du använder Azure Cloud Shell behöver du inte köra
az login
om du inte vill använda ett annat konto.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 här
EastUS2
exemplet används regionen. ErsättEastUS2
med önskad 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
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 utvecklingscenter och ett utvecklingscenterprojekt
Kör följande kommando, som installerar Azure CLI-tillägget
devcenter
om det inte är installerat, och uppdaterar det 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 utvecklingscenter och ett utvecklingscenterprojekt.
# 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 huruvida poolen är tillståndsbevarande eller tillståndslös och innehåller standby-agentens schema. 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 en fil med namnet 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-24.04" ], "buffer": "*", "wellKnownImageName": "ubuntu-24.04/latest" } ], "osProfile": { "secretsManagementSettings": { "observedCertificates": [], "keyExportable": false }, "logonType": "Service" }, "storageProfile": { "osDiskStorageAccountType": "Standard", "dataDisks": [] } } }
Den här konfigurationen anger en pool med Standard_D2as_v5 avbildningen, avbildningen ubuntu-24.04Azure Pipelines och en StandardOS 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.{ "AzureDevOps": { "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
Kör följande kommando, som installerar Azure CLI-tillägget
mdp
om det inte är installerat, och uppdaterar det 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 Azure DevOps>Organisationsinställningar.
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ör 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 kallas din hanterade DevOps-pool
fabrikam-managed-pool
, så ersättvmImage: ubuntu-latest
medname: fabrikam-managed-pool
, 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. Mer information finns i Den här pipelinen behöver behörighet att komma åt en resurs innan den här körningen kan fortsätta.
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