Dela via


Snabbstart: Skapa en hanterad DevOps-pool med hjälp av en ARM-mall

Den här artikeln visar hur du skapar en hanterad DevOps-pool med hjälp av en ARM-mall och kör en pipeline i den nya poolen.

Förutsättningar

Innan du slutför stegen i den här artikeln har du 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.

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.

    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.

Skapa en resursgrupp, Dev Center och Dev Center Project

  1. Följ stegen För att skapa ett utvecklingscenter i Skapa och konfigurera ett utvecklingscenter för Azure-distributionsmiljöer med hjälp av Azure CLI.

    Du behöver bara följa stegen i avsnittet Skapa ett utvecklingscenter . Anteckna resursgruppens namn och Dev Center-namnet.

  2. Följ stegen För att skapa ett projekt i Skapa och konfigurera ett projekt med hjälp av Azure CLI.

    Anteckna det id skapade projektet (inte devCenterId).

Granska och spara mallen

  1. Skapa ett lokalt filnamn mdp-azure-deploy.json med följande innehåll. Den här filen är en parametriserad ARM-mall som skapar en microsoft.devopsinfrastructure/pools resurs.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "poolName": {
                "type": "string"
            },
            "adoOrg": {
                "type": "string"
            },
            "devCenterResourceId": {
                "type": "string"
            },
            "imageName": {
                "type": "string"
            },
            "poolSize": {
                "type": "int"
            },
            "location": {
                "type": "string",
                "defaultValue": "eastus"
            }
        },
        "variables": {},
        "resources": [
            {
                "name": "[parameters('poolName')]",
                "type": "microsoft.devopsinfrastructure/pools",
                "apiVersion": "2024-10-19",
                "location": "[parameters('location')]",
                "tags": {},
                "properties": {
                    "organizationProfile": {
                        "organizations": [
                            {
                                "url": "[parameters('adoOrg')]",
                                "parallelism": 1
                            }
                        ],
                        "permissionProfile": {
                            "kind": "CreatorOnly"
                        },
                        "kind": "AzureDevOps"
                    },
                    "devCenterProjectResourceId": "[parameters('devCenterResourceId')]",
                    "maximumConcurrency": "[parameters('poolSize')]",
                    "agentProfile": {
                        "kind": "Stateless"
                    },
                    "fabricProfile": {
                        "sku": {
                            "name": "Standard_D2ads_v5"
                        },
                        "images": [
                            {
                                "wellKnownImageName": "[parameters('imageName')]",
                                "buffer": "*"
                            }
                        ],
                        "kind": "Vmss"
                    }
                }
            }
        ]
    }
    
  2. Skapa en annan lokal fil med namnet mdp-azure-deploy-parameters.json och spara den i samma mapp som den första filen. Uppdatera följande egenskaper så att de matchar informationen om din miljö.

    Parameter Värde
    poolName Uppdatera value med önskat namn på din pool. Namnet måste bestå av alfanumeriska tecken, ., -eller _, och vara mellan 3 och 44 tecken långa. Namnet måste vara globalt unikt i Azure.
    adoOrg Uppdatera value och ersätt your-organization med namnet på din Azure DevOps-organisation.
    devCenterResourceId Uppdatera value med från föregående id.
    imageName Det här exemplet är konfigurerat för att använda en Azure Pipelines-avbildning och använder Windows Server 2022-avbildningen. Om du vill ändra den väljer du från azure pipelines-avbildningens fördefinierade alias. Hanterade DevOps-pooler stöder även Azure Compute Gallery-avbildningar och valda marketplace-avbildningar. Information om hur du konfigurerar en resurs för hanterade DevOps-pooler för dessa avbildningstyper finns i Konfigurera avbildningar av hanterade DevOps-pooler.
    poolSize Uppdatera value med det maximala antalet agenter som du vill ska kunna köra samtidiga jobb. I det här exemplet poolSize är .1
    location Azure-regionen för poolen. I det här exemplet är eastusregionen .
    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "poolName": {
                "value": "my-first-managed-pool"
            },
            "adoOrg": {
                "value": "https://dev.azure.com/your-organization"
            },
            "devCenterResourceId": {
                "value": "/subscriptions/subscription_id_placeholder/resourceGroups/fabrikam-managed-devops-pools/providers/Microsoft.DevCenter/projects/fabrikam-dev-center-project"
            },
            "imageName": {
                "value": "windows-2022"
            },
            "poolSize": {
                "value": 1
            },
            "location": {
                "value": "eastus"
            }
        }
    }
    

Skapa den hanterade DevOps-poolen

Öppna en kommandotolk (i Windows, använd Windows-kommandotolken eller PowerShell) och kör följande kommandon. Du kan hoppa över de två första kommandona om Azure CLI-sessionen från den första proceduren fortfarande är aktiv.

  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.

  3. Gå till mappen när du sparade de två JSON-filerna från föregående steg. I det här exemplet sparas filerna i C:\examples.

    cd c:\examples
    
  4. Skapa den hanterade DevOps-poolen. Ersätt <resourceGroupName> med resursgruppen som skapades i det första steget.

    az deployment group create --resource-group <resourceGroupName> --template-file mdp-azure-deploy.json --parameters mdp-azure-deploy-parameters.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 8, 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 >.

    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

När du har slutfört snabbstarten tar du bort de skapade resurserna om du inte vill fortsätta att använda dem.

Om du vill ta bort Den hanterade DevOps-poolen, Dev Center och Dev Center-projektet kan du ta bort dem genom att ta bort den resursgrupp som innehåller dem.

Se även