Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak utworzyć zarządzaną pulę DevOps przy użyciu interfejsu wiersza polecenia platformy Azure i uruchomić w nim potok.
Wymagania wstępne
Wymagania wstępne dla zarządzanych zasobów DevOps
Przed wykonaniem kroków opisanych w tym artykule musisz skonfigurować subskrypcję platformy Azure i organizację usługi Azure DevOps do użycia z zarządzanymi pulami DevOps zgodnie z opisem w artykule Wymagania wstępne . Te kroki należy wykonać tylko raz na subskrypcję platformy Azure i organizację usługi Azure DevOps.
Wymagania wstępne Azure CLI
Jeśli chcesz uruchomić polecenia interfejsu wiersza polecenia platformy Azure na komputerze lokalnym, zobacz instrukcje instalacji interfejsu wiersza polecenia platformy Azure. Jeśli masz już zainstalowany interfejs wiersza polecenia platformy Azure, uruchom polecenie
az version, aby sprawdzić swoją wersję. Rozszerzenie interfejsu wiersza polecenia platformy Azure dla zarządzanych pul devOps wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.57.0 lub nowszej. Jeśli CLI platformy Azure ma wersję niższą niż 2.57.0, uruchom polecenieaz upgrade. Aby uzyskać więcej informacji, zobacz Jak zaktualizować interfejs wiersza polecenia platformy Azure.Jeśli chcesz użyć usługi Azure Cloud Shell za pośrednictwem przeglądarki, postępuj zgodnie z instrukcjami w Rozpoczynanie pracy z efemerycznymi sesjami usługi Azure Cloud Shell, aby zarejestrować przestrzeń nazw Microsoft.CloudShell. Musisz zarejestrować przestrzeń nazw tylko raz na subskrypcję.
W poniższych przykładach użyto bash, więc jeśli korzystasz z usługi Azure Cloud Shell, wybierz Bash podczas jej uruchamiania.
Zaloguj się do Azure CLI
Otwórz wiersz polecenia (w systemie Windows, użyj wiersza polecenia systemu Windows lub programu PowerShell) i uruchom następujące polecenia.
Zaloguj się do Azure CLI. Jeśli używasz usługi Azure Cloud Shell , nie musisz jej uruchamiać
az login, chyba że chcesz użyć innego konta.az loginJeśli masz więcej niż jedną subskrypcję platformy Azure, ustaw domyślną subskrypcję platformy Azure.
az account set --subscription "My subscription name"Aby uzyskać listę subskrypcji, możesz uruchomić następujące polecenie.
az account list -o tableJeśli masz wielu dzierżawców lub chcesz uzyskać więcej informacji na temat pracy z subskrypcją w Azure używając Azure CLI, zobacz Jak zarządzać subskrypcjami w Azure za pomocą Azure CLI.
Definiowanie zmiennych środowiskowych
Uruchom następujące polecenia, aby wygenerować nazwy zasobów w tym samouczku szybkiego startu. W tym przykładzie użyto
EastUS2regionu. ZastąpEastUS2element żądanym regionem.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
Tworzenie grupy zasobów
Uruchom następujące polecenie, aby utworzyć grupę zasobów do przechowywania zasobów używanych w tym szybkim starcie.
az group create --name $RESOURCE_GROUP_NAME --location $REGION
Tworzenie centrum deweloperskiego i projektu centrum deweloperskiego
Uruchom następujące polecenie, które instaluje rozszerzenie interfejsu wiersza polecenia
devcenterplatformy Azure, jeśli nie jest zainstalowane, i aktualizuje je do najnowszej wersji, jeśli jest już zainstalowana.az extension add --name devcenter --upgradeUruchom następujące polecenia, aby utworzyć Centrum deweloperskie i projekt Centrum deweloperskiego.
# 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 kilku chwilach dane wyjściowe wskazują, że centrum programistyczne zostało utworzone. Utworzone
idcentrum deweloperskie jest zapisywane wDEVCIDi służy do tworzenia projektu centrum deweloperskiego.{ "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 kilku chwilach dane wyjściowe wskazują, że projekt centrum deweloperskiego został utworzony. Utworzony projekt centrum deweloperskiego
idjest zapisywany wDEVCPIDi jest używany podczas tworzenia zarządzanej puli DevOps w następnej sekcji.{ "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" }
Przygotuj pliki konfiguracji zarządzanej puli DevOps
Metoda mdp pool create ma kilka parametrów, które przyjmują wartości JSON, które konfigurują różne aspekty puli.
-
agent-profileOkreśla, czy pula jest stanowa, czy bezstanowa, i zawiera harmonogram agenta rezerwowego. Jest to słownik z pojedynczym kluczem nazwanymStatefullubStateless, w zależności od żądanej konfiguracji agenta. Aby uzyskać więcej informacji naagent-profiletemat właściwości, zobacz Konfigurowanie skalowania. -
fabric-profileokreśla rozmiar agenta, obrazy maszyn wirtualnych, dysk systemu operacyjnego i dołączony magazyn. Aby uzyskać więcej informacji na temat właściwościfabric-profile, zobacz Konfigurowanie ustawień puli i Konfigurowanie dodatkowego magazynu. -
organization-profileokreśla organizacje i projekty usługi Azure DevOps, które mogą używać puli. Aby uzyskać więcej informacji naorganization-profiletemat ustawień, zobacz Konfigurowanie ustawień zabezpieczeń — Konfigurowanie dostępu do organizacji.
Utwórz następujące trzy pliki i zapisz je w folderze, w którym planujesz uruchomić polecenia interfejsu wiersza polecenia platformy Azure w celu utworzenia puli.
Utwórz plik o nazwie agent-profile.json z następującą zawartością.
{ "Stateless": {} }Ta konfiguracja określa bezstanowego agenta dla puli.
Utwórz plik o nazwie fabric-profile.json z następującą zawartością.
{ "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": [] } } }Ta konfiguracja określa pulę przy użyciu obrazu Standard_D2as_v5, obrazu ubuntu-24.04usługi Azure Pipelines oraz standardowego typudysku systemu operacyjnego bez dołączonego dysku danych.
Utwórz plik o nazwie organization-profile.json z następującą zawartością. Zastąp
<organization-name>ciąg nazwą organizacji usługi Azure DevOps.{ "AzureDevOps": { "organizations": [ { "url": "https://dev.azure.com/<organization-name>", "projects": [], "parallelism": 1 } ], "permissionProfile": { "kind": "CreatorOnly" } } }Ta konfiguracja określa pulę dostępną dla wszystkich projektów w organizacji usługi Azure DevOps.
Utwórz zarządzaną pulę DevOps
Uruchom następujące polecenie, które instaluje rozszerzenie interfejsu wiersza polecenia
mdpplatformy Azure, jeśli nie jest zainstalowane, i aktualizuje je do najnowszej wersji, jeśli jest już zainstalowana.az extension add --name mdp --upgradeUtwórz zarządzaną pulę DevOps poprzez uruchomienie poniższego polecenia az mdp pool create.
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.jsonJeśli twoja subskrypcja nie ma pojemności do skonfigurowania puli przy użyciu żądanej jednostki SKU maszyny wirtualnej platformy Azure i maksymalnej liczby agentów, tworzenie puli kończy się niepowodzeniem z powodu błędu podobnego do poniższego komunikatu.
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. Aby rozwiązać ten problem, zobacz Przeglądanie limitów przydziałów zarządzanych pul DevOps.
Wyświetlanie utworzonej puli w witrynie Azure Portal
Zaloguj się w witrynie Azure Portal.
Wyszukaj pozycję Zarządzane pule DevOpsowe i wybierz ją z dostępnych opcji.
Z listy wybierz nową zarządzaną pulę DevOps.
Wybierz Widok JSON, aby zobaczyć format JSON zasobu zarządzanych pul DevOps.
Wyświetlanie puli agentów w usłudze Azure DevOps
Przejdź do portalu usługi Azure DevOps i zaloguj się do organizacji usługi Azure DevOps (
https://dev.azure.com/{your-organization}).Przejdź do Azure DevOps>Ustawienia organizacji.
Przejdź do Potoki>Pule agentów i sprawdź, czy nowa pula jest wyświetlana. Jeśli właśnie utworzono zarządzaną pulę DevOps, wyświetlenie nowej puli na liście agentów może potrwać kilka chwil.
Uruchom potok w swojej nowej puli
W tym kroku utworzymy prosty potok w domyślnym repozytorium projektu Azure DevOps i uruchomimy go w Twojej nowej zarządzanej puli DevOps.
Przejdź do portalu usługi Azure DevOps i zaloguj się do organizacji usługi Azure DevOps (
https://dev.azure.com/{your-organization}).Przejdź do projektu, w którym chcesz uruchomić pipeline, a następnie wybierz Pipelines.
Wybierz pozycję Nowy potok (lub Utwórz potok, jeśli jest to pierwszy potok).
Wybierz pozycję Azure Repos Git.
Wybierz repozytorium, które ma taką samą nazwę jak projekt. W tym przykładzie projekt nosi nazwę FabrikamFiber, dlatego wybieramy repozytorium o tej samej nazwie.
Wybierz potok początkowy.
Domyślnie szablon startowy używa agenta systemu Linux hostowanego przez firmę Microsoft. Edytuj szablon pipeline'u i zmień sekcję
pool, tak aby odwoływała się do puli, którą utworzyłeś w poprzednich krokach.# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latestW tym przykładzie zarządzana pula DevOps ma nazwę
fabrikam-managed-pool, więc zastąp ciągvmImage: ubuntu-latestnaname: fabrikam-managed-pooli określ nazwę swojej zarządzanej puli DevOps.# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-poolWybierz pozycję Zapisz i uruchom, a następnie wybierz pozycję Zapisz i uruchom ponownie, aby potwierdzić.
Jeśli jest to pierwsze uruchomienie potoku w tej puli, możesz być poproszony o udzielenie uprawnień przed uruchomieniem potoku. Aby uzyskać więcej informacji, zobacz Ten potok danych wymaga uprawnień do dostępu do zasobu przed kontynuowaniem tego przebiegu.
Obejrzyj przebieg potoku w Azure DevOps, a możesz przełączyć się na Azure Portal i wyświetlić uruchomionego agenta w widoku Agenci.
Czyszczenie zasobów
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, usuń grupę zasobów, centrum deweloperów, projekt centrum deweloperów i zarządzaną pulę DevOps. W tym przewodniku Szybki Start utworzono wszystkie zasoby w nowej grupie zasobów, dzięki czemu można je łatwo usunąć, używając polecenia az group delete, aby usunąć grupę zasobów wraz ze wszystkimi jej zasobami.
az group delete -n $RESOURCE_GROUP_NAME