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 --version
pří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.
Přihlaste se k Azure CLI.
az login
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í
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ďteEastUS2
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"
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ů
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
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
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ží aDEVCID
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ží aDEVCPID
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
neboStateless
, v závislosti na požadované konfiguraci agenta. Další informace oagent-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 vlastnostechfabric-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 vorganization-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.
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.
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.
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
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
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
Přihlaste se k portálu Azure.
Vyhledejte spravované fondy DevOps a vyberte ho z dostupných možností.
V seznamu vyberte nový spravovaný fond DevOps.
Zvolte zobrazení JSON a zobrazte formát JSON prostředku spravovaných fondů DevOps.
Zobrazení fondu agentů v Azure DevOps
Přejděte na portál Azure DevOps a přihlaste se k organizaci Azure DevOps.
https://dev.azure.com/{your-organization}
Přejděte do nastavení organizace Azure DevOps>.
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ů.
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.
Přejděte na portál Azure DevOps a přihlaste se k organizaci Azure DevOps.
https://dev.azure.com/{your-organization}
Přejděte do projektu, ve kterém chcete kanál spustit, a zvolte Kanály.
Zvolte Nový kanál (nebo vytvořte kanál, pokud se jedná o první kanál).
Zvolte Git Azure Repos.
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.
Zvolte počáteční kanál.
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ďtevmImage: ubuntu-latest
name: fabrikam-managed-pools
ná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
Zvolte Uložit a spustit a zvolte Uložit a spusťte podruhé, abyste to potvrdili.
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.
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