Szybki start: tworzenie zarządzanej puli DevOps przy użyciu interfejsu wiersza polecenia platformy Azure
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
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.
Instalowanie lub uruchamianie w usłudze Azure Cloud Shell
Najprostszym sposobem, aby dowiedzieć się, jak używać interfejsu wiersza polecenia platformy Azure, jest uruchomienie środowiska powłoki Bash w usłudze Azure Cloud Shell za pośrednictwem przeglądarki. Aby dowiedzieć się więcej o usłudze Cloud Shell, zobacz Przewodnik Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Gdy wszystko będzie gotowe do zainstalowania interfejsu wiersza polecenia platformy Azure, zapoznaj się z instrukcjami dotyczącymi instalacji kontenerów systemów Windows, Linux, macOS i Docker.
Sprawdź wersję, uruchamiając polecenie az --version
. Usługa Azure Cloud Shell zawsze ma wstępnie zainstalowaną najnowszą wersję interfejsu wiersza polecenia platformy Azure.
az version
Logowanie się do interfejsu wiersza polecenia platformy Azure
Otwórz wiersz polecenia (w systemie Windows, użyj wiersza polecenia systemu Windows lub programu PowerShell) i uruchom następujące polecenia. Jeśli używasz usługi Azure Cloud Shell , nie musisz jej uruchamiać az login
, chyba że chcesz użyć innego konta.
Zaloguj się do interfejsu wiersza polecenia platformy Azure.
az login
Jeś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 table
Jeśli masz wiele dzierżaw lub chcesz wyświetlić więcej informacji na temat pracy z subskrypcją platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz Jak zarządzać subskrypcjami platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure.
Definiowanie zmiennych środowiskowych
Uruchom następujące polecenia, aby wygenerować nazwy zasobów w tym przewodniku Szybki start. W tym przykładzie użyto
EastUS2
regionu. ZastąpEastUS2
element żądanym regionem.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"
Uruchom następujące polecenia, aby przejrzeć nazwy zasobów.
echo $RESOURCE_GROUP_NAME echo $POOL_NAME echo $DEV_CENTER_NAME echo $DEV_CENTER_PROJECT_NAME echo $REGION
Tworzenie grupy zasobów
Uruchom następujące polecenie, aby utworzyć grupę zasobów zawierającą zasoby używane w tym przewodniku Szybki start.
az group create --name $RESOURCE_GROUP_NAME --location $REGION
Tworzenie centrum deweloperskiego i projektu centrum deweloperskiego
Zainstaluj rozszerzenie interfejsu wiersza polecenia
devcenter
platformy Azure i upewnij się, że został on uaktualniony do najnowszej wersji, jeśli jest już zainstalowany.az extension add --name devcenter --upgrade
Uruchom następujące polecenia, aby utworzyć centrum deweloperów i projekt Centrum deweloperów.
# 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 deweloperów zostało utworzone. Utworzony
id
centrum deweloperów jest zapisywany iDEVCID
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 deweloperów został utworzony. Utworzony
id
projekt centrum deweloperskiego jest zapisywany iDEVCPID
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" }
Przygotowywanie plików 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-profile
Określa, czy pula jest stanowa, czy bezstanowa, i zawiera harmonogram agenta rezerwowego. Jest to słownik o pojedynczej nazwieStateful
lubStateless
, w zależności od żądanej konfiguracji agenta. Aby uzyskać więcej informacji naagent-profile
temat właściwości, zobacz Konfigurowanie skalowania.fabric-profile
określa rozmiar agenta, obrazy maszyn wirtualnych, dysk systemu operacyjnego i dołączony magazyn. Aby uzyskać więcej informacji nafabric-profile
temat właściwości, zobacz Konfigurowanie ustawień puli i Konfigurowanie dodatkowego magazynu.organization-profile
określa organizacje i projekty usługi Azure DevOps, które mogą używać puli. Aby uzyskać więcej informacji naorganization-profile
temat 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 nazwę pliku 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-22.04" ], "buffer": "*", "wellKnownImageName": "ubuntu-22.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-22.04 usługi Azure Pipelines i standardowego dysku 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.
Tworzenie zarządzanej puli DevOps
mdp
Zainstaluj rozszerzenie i upewnij się, że jest on uaktualniany do najnowszej wersji, jeśli jest już zainstalowany.az extension add --name mdp --upgrade
Utwórz zarządzaną pulę DevOps, uruchamiając następujące polecenie 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.json
Jeś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 DevOps i wybierz je z dostępnych opcji.
Z listy wybierz nową zarządzaną pulę DevOps.
Wybierz pozycję Widok JSON, aby wyświetlić 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 pozycji Ustawienia organizacji usługi Azure DevOps>.
Przejdź do pul agentów potokó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.
Uruchamianie potoku w nowej puli
W tym kroku utworzymy prosty potok w domyślnym repozytorium projektu usługi Azure DevOps i uruchomimy go w 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ć potok, a następnie wybierz pozycję Potoki.
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 pozycję Potok startowy.
Domyślnie szablon startowy używa agenta systemu Linux hostowanego przez firmę Microsoft. Edytuj szablon potoku i zmień sekcję
pool
, tak aby odwoływała się do puli utworzonej w poprzednich krokach.# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latest
W tym przykładzie pula zarządzanej metodyki DevOps ma nazwę
fabrikam-managed-pool
, więc zastąpvmImage: ubuntu-latest
ciąg ciągiemname: fabrikam-managed-pools
i określ nazwę zarządzanej puli DevOps.# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-pool
Wybierz 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że zostać wyświetlony monit o udzielenie uprawnień przed uruchomieniem potoku.
Obejrzyj przebieg potoku w usłudze Azure DevOps i możesz przełączyć się do witryny 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, aby można było je usunąć za pomocą polecenia az group delete , aby usunąć grupę zasobów i wszystkie jej zasoby.
az group delete -n $RESOURCE_GROUP_NAME