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

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.

  1. Logga in på Azure CLI.

    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 EastUS2 här exemplet används regionen. Ersätt EastUS2 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"
    
  2. 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

  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 dev center- och dev center-projekt

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

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

  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.

    {
      "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

  1. 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
    
  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 knappen JSON-vy i poolöversikt.

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 Inställningar för Azure DevOps-organisationen>.

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

  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 Ny pipeline.

  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 heter fabrikam-managed-poolHanterade DevOps-pooler , så ersätt vmImage: ubuntu-latest med name: fabrikam-managed-poolsoch 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.

  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