Sdílet prostřednictvím


Rychlý start: Vytvoření spravovaného fondu DevOps pomocí Azure CLI

V tomto článku se dozvíte, jak vytvořit spravovaný fond DevOps pomocí Azure CLI a spustit v něm kanál.

Požadavky

Před dokončením kroků v tomto článku musíte mít nakonfigurované předplatné Azure a organizaci Azure DevOps pro použití se spravovanými fondy DevOps, jak je popsáno v článku Požadavky . Tyto kroky je potřeba provést jenom jednou pro každé předplatné Azure a organizaci Azure DevOps.

Instalace nebo spuštění v Azure Cloud Shellu

Nejjednodušší způsob, jak se naučit používat Azure CLI, je spuštěním prostředí Bash v Azure Cloud Shellu v prohlížeči. Další informace o Cloud Shellu najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.

Až budete připraveni nainstalovat Azure CLI, přečtěte si pokyny k instalaci pro kontejner Windows, Linux, macOS a Docker.

Zkontrolujte verzi spuštěním az --versionpříkazu . Azure Cloud Shell má vždy předinstalovanou nejnovější verzi Azure CLI.

az version

Přihlášení k Azure CLI

Otevřete příkazový řádek (ve Windows, použijte Příkazový řádek windows nebo PowerShell) a spusťte následující příkazy. Pokud používáte Azure Cloud Shell , nemusíte spouštět az login , pokud nechcete použít jiný účet.

  1. Přihlaste se k Azure CLI.

    az login
    
  2. Pokud máte více než jedno předplatné Azure, nastavte výchozí předplatné Azure.

    az account set --subscription "My subscription name"
    

    Pokud chcete získat seznam předplatných, můžete spustit následující příkaz.

    az account list -o table
    

    Pokud máte více tenantů nebo chcete zobrazit další informace o práci s předplatným Azure pomocí Azure CLI, přečtěte si téma Správa předplatných Azure pomocí Azure CLI.

Definování proměnných prostředí

  1. Spuštěním následujících příkazů vygenerujte názvy prostředků v tomto rychlém startu. Tento příklad používá EastUS2 oblast. Nahraďte EastUS2 požadovanou oblastí.

    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. Spuštěním následujících příkazů zkontrolujte názvy prostředků.

    echo $RESOURCE_GROUP_NAME
    echo $POOL_NAME
    echo $DEV_CENTER_NAME
    echo $DEV_CENTER_PROJECT_NAME
    echo $REGION
    

Vytvoření skupiny zdrojů

  1. Spuštěním následujícího příkazu vytvořte skupinu prostředků, která bude obsahovat prostředky použité v tomto rychlém startu.

    az group create --name $RESOURCE_GROUP_NAME --location $REGION
    

Vytvoření projektu vývojového centra a vývojového centra

  1. Nainstalujte rozšíření Azure CLI devcenter a ujistěte se, že je upgradovaný na nejnovější verzi, pokud už je nainstalované.

    az extension add --name devcenter --upgrade
    
  2. Spuštěním následujících příkazů vytvořte projekt vývojového centra a centra pro vývoj.

    # 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)
    

    Po chvíli výstup indikuje, že se vytvořilo dev center. Vytvořené id vývojové centrum se uloží a DEVCID použije se k vytvoření projektu vývojového centra.

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

    Po několika dalších okamžikech výstup indikuje, že byl vytvořen projekt vývojového centra. Vytvořený id projekt dev center se uloží a DEVCPID použije se při vytváření spravovaného fondu DevOps v další části.

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

Příprava konfiguračních souborů spravovaného fondu DevOps

Metoda mdp pool create má několik parametrů, které přebírají hodnoty JSON, které konfiguruje různé aspekty fondu.

  • agent-profile určuje, zda je fond stavový nebo bezstavový a obsahuje plán pohotovostního agenta. Jedná se o slovník s jedním klíčem s názvem buď Stateful nebo Stateless, v závislosti na požadované konfiguraci agenta. Další informace o agent-profile vlastnostech naleznete v tématu Konfigurace škálování.
  • fabric-profile určuje velikost agenta, image virtuálních počítačů, disk s operačním systémem a připojené úložiště. Další informace o vlastnostech fabric-profile naleznete v tématu Konfigurace nastavení fondu a Konfigurace dalšího úložiště.
  • organization-profile určuje organizace a projekty Azure DevOps, které můžou fond používat. Další informace o nastavení najdete v organization-profile tématu Konfigurace nastavení zabezpečení – Konfigurace přístupu k organizaci.

Vytvořte následující tři soubory a uložte je do složky, do které plánujete spustit příkazy Azure CLI pro vytvoření fondu.

  1. Vytvořte název souboru agent-profile.json s následujícím obsahem.

    {
      "Stateless": {}
    }
    

    Tato konfigurace určuje bezstavového agenta pro váš fond.

  2. Vytvořte soubor s názvem fabric-profile.json s následujícím obsahem.

    {
      "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": []
        }
      }
    }
    

    Tato konfigurace určuje fond s použitím image Standard_D2as_v5, image Ubuntu-22.04 Azure Pipelines a typu disk se standardním operačním systémem bez připojeného datového disku.

  3. Vytvořte soubor s názvem organization-profile.json s následujícím obsahem. Nahraďte <organization-name> názvem vaší organizace Azure DevOps.

    {
      "AzureDevOps": {
        "organizations": [
          {
            "url": "https://dev.azure.com/<organization-name>",
            "projects": [],
            "parallelism": 1
          }
        ],
        "permissionProfile": {
          "kind": "CreatorOnly"
        }
      }
    }
    

    Tato konfigurace určuje fond, který je k dispozici pro všechny projekty ve vaší organizaci Azure DevOps.

Vytvoření spravovaného fondu DevOps

  1. mdp Nainstalujte rozšíření a ujistěte se, že je upgradovaný na nejnovější verzi, pokud už je nainstalované.

     az extension add --name mdp --upgrade
    
  2. Spuštěním následujícího příkazu az mdp pool create vytvořte spravovaný fond DevOps.

    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
    

    Pokud vaše předplatné nemá kapacitu ke konfiguraci fondu s požadovanou skladovou položku virtuálního počítače Azure a maximální počet agentů, vytvoření fondu selže s chybou podobnou následující zprávě. 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. Pokud chcete tento problém vyřešit, přečtěte si téma Kontrola kvót spravovaných fondů DevOps.

Zobrazení vytvořeného fondu na webu Azure Portal

  1. Přihlaste se k portálu Azure.

  2. Vyhledejte spravované fondy DevOps a vyberte ho z dostupných možností.

  3. V seznamu vyberte nový spravovaný fond DevOps.

  4. Zvolte zobrazení JSON a zobrazte formát JSON prostředku spravovaných fondů DevOps.

    Snímek obrazovky s tlačítkem Zobrazení JSON v přehledu fondu

Zobrazení fondu agentů v Azure DevOps

  1. Přejděte na portál Azure DevOps a přihlaste se k organizaci Azure DevOps.https://dev.azure.com/{your-organization}

  2. Přejděte do nastavení organizace Azure DevOps>.

    Snímek obrazovky s tlačítkem Nastavení organizace

  3. Přejděte do fondů agenta Pipelines>a ověřte, že je váš nový fond uvedený. Pokud jste právě vytvořili spravovaný fond DevOps, může chvíli trvat, než se nový fond zobrazí v seznamu agentů.

    Snímek obrazovky se seznamem fondů agentů

Spuštění kanálu v novém fondu

V tomto kroku vytvoříme jednoduchý kanál ve výchozím úložišti projektu Azure DevOps a spustíme ho ve vašem novém spravovaném fondu DevOps.

  1. Přejděte na portál Azure DevOps a přihlaste se k organizaci Azure DevOps.https://dev.azure.com/{your-organization}

  2. Přejděte do projektu, ve kterém chcete kanál spustit, a zvolte Kanály.

    Snímek obrazovky se seznamem Projektů

  3. Zvolte Nový kanál (nebo vytvořte kanál, pokud se jedná o první kanál).

    Snímek obrazovky s tlačítkem nový kanál

  4. Zvolte Git Azure Repos.

    Snímek obrazovky s typy úložišť

  5. Zvolte úložiště, které má stejný název jako váš projekt. V tomto příkladu má projekt název FabrikamFiber, proto zvolíme úložiště se stejným názvem.

    Snímek obrazovky s úložištěm FabrikamFiber

  6. Zvolte počáteční kanál.

    Snímek obrazovky se seznamem šablon kanálů

  7. Ve výchozím nastavení úvodní šablona používá agenta Microsoftu hostovaného v Linuxu. Upravte šablonu kanálu a změňte pool oddíl tak, aby odkazovat na fond, který jste vytvořili v předchozích krocích.

    # Change these two lines as shown in the following example.
     pool:
      vmImage: ubuntu-latest
    

    V tomto příkladu se spravované fondy DevOps nazývají fabrikam-managed-pool, takže nahraďte vmImage: ubuntu-latest name: fabrikam-managed-poolsnázvem a zadejte název spravovaného fondu DevOps.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Zvolte Uložit a spustit a zvolte Uložit a spusťte podruhé, abyste to potvrdili.

    Snímek obrazovky s tlačítkem Uložit a spustit

  9. Pokud se jedná o první spuštění kanálu v tomto fondu, můžete být požádáni o udělení oprávnění před spuštěním kanálu.

  10. Sledujte spuštění kanálu v Azure DevOps a můžete přepnout na azure Portal a zobrazit spuštěného agenta v zobrazení Agenti.

Vyčištění prostředků

Pokud tuto aplikaci nebudete dál používat, odstraňte skupinu prostředků, centrum pro vývoj, projekt dev center a spravovaný fond DevOps. Tento rychlý start vytvořil všechny prostředky v nové skupině prostředků, takže je můžete všechny odstranit pomocí příkazu az group delete a odstranit skupinu prostředků a všechny její prostředky.

az group delete -n $RESOURCE_GROUP_NAME

Viz také