Dela via


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

  • 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 du az 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.

  1. 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
    
  2. 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

  1. 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ätt EastUS2 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

  1. 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

  1. 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
    
  2. 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 i DEVCID 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 i DEVCPID 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.

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.

  1. 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.

  2. 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.

  3. 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

  1. 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
    
  2. 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

  1. Logga in på Azure-portalen.

  2. Sök efter Hanterade DevOps-pooler och välj den bland de tillgängliga alternativen.

  3. Välj din nya hanterade DevOps-pool i listan.

  4. Välj JSON-vy för att se JSON-formatet för din resurs för hanterade DevOps-pooler.

    Skärmbild av JSON-vy-knappen i poolöversikten.

Visa agentpoolen i Azure DevOps

  1. Gå till Azure DevOps-portalen och logga in på din Azure DevOps-organisation (https://dev.azure.com/{your-organization}).

  2. Gå till Azure DevOps>Organisationsinställningar.

    Skärmbild av knappen Organisationsinställningar.

  3. 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.

    Skärmbild av listan med agentpooler.

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.

  1. Gå till Azure DevOps-portalen och logga in på din Azure DevOps-organisation (https://dev.azure.com/{your-organization}).

  2. Gå till det projekt där du vill köra pipelinen och välj Pipelines.

    Skärmbild av listan Projekt.

  3. Välj Ny pipeline (eller Skapa pipeline om det här är din första pipeline).

    Skärmbild av knappen

  4. Välj Azure Repos Git.

    Skärmbild av lagringsplatsens typer.

  5. 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.

    Skärmbild av FabrikamFiber-lagringsplatsen.

  6. Välj Startpipeline.

    Skärmbild av listan över pipelinemallar.

  7. 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ätt vmImage: ubuntu-latest med name: 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
    
  8. Välj Spara och kör och välj Spara och kör en andra gång för att bekräfta.

    Skärmbild av knappen Spara och kör.

  9. 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.

  10. 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

Se även