Udostępnij za pośrednictwem


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.

  1. Zaloguj się do interfejsu wiersza polecenia platformy Azure.

    az login
    
  2. 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

  1. Uruchom następujące polecenia, aby wygenerować nazwy zasobów w tym przewodniku Szybki start. W tym przykładzie użyto EastUS2 regionu. Zastąp EastUS2 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"
    
  2. 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

  1. 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

  1. 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
    
  2. 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 i DEVCID 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 i DEVCPID 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 nazwie Stateful lub Stateless, w zależności od żądanej konfiguracji agenta. Aby uzyskać więcej informacji na agent-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 na fabric-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 na organization-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.

  1. Utwórz nazwę pliku agent-profile.json z następującą zawartością.

    {
      "Stateless": {}
    }
    

    Ta konfiguracja określa bezstanowego agenta dla puli.

  2. 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.

  3. 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

  1. mdp Zainstaluj rozszerzenie i upewnij się, że jest on uaktualniany do najnowszej wersji, jeśli jest już zainstalowany.

     az extension add --name mdp --upgrade
    
  2. 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

  1. Zaloguj się w witrynie Azure Portal.

  2. Wyszukaj pozycję Zarządzane pule DevOps i wybierz je z dostępnych opcji.

  3. Z listy wybierz nową zarządzaną pulę DevOps.

  4. Wybierz pozycję Widok JSON, aby wyświetlić format JSON zasobu zarządzanych pul DevOps.

    Zrzut ekranu przedstawiający przycisk Widok JSON w przeglądze puli.

Wyświetlanie puli agentów w usłudze Azure DevOps

  1. Przejdź do portalu usługi Azure DevOps i zaloguj się do organizacji usługi Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Przejdź do pozycji Ustawienia organizacji usługi Azure DevOps>.

    Zrzut ekranu przedstawiający przycisk Ustawienia organizacji.

  3. 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.

    Zrzut ekranu przedstawiający listę pul agentów.

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.

  1. Przejdź do portalu usługi Azure DevOps i zaloguj się do organizacji usługi Azure DevOps (https://dev.azure.com/{your-organization}).

  2. Przejdź do projektu, w którym chcesz uruchomić potok, a następnie wybierz pozycję Potoki.

    Zrzut ekranu przedstawiający listę Projekty.

  3. Wybierz pozycję Nowy potok (lub Utwórz potok, jeśli jest to pierwszy potok).

    Zrzut ekranu przedstawiający przycisk nowego potoku.

  4. Wybierz pozycję Azure Repos Git.

    Zrzut ekranu przedstawiający typy repozytoriów.

  5. 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.

    Zrzut ekranu przedstawiający repozytorium FabrikamFiber.

  6. Wybierz pozycję Potok startowy.

    Zrzut ekranu przedstawiający listę szablonów potoku.

  7. 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ąp vmImage: ubuntu-latest ciąg ciągiem name: fabrikam-managed-poolsi określ nazwę zarządzanej puli DevOps.

    # Replace fabrikam-managed-pools with the name
    # of your Managed DevOps Pool.
    pool:
      name: fabrikam-managed-pool
    
  8. Wybierz pozycję Zapisz i uruchom, a następnie wybierz pozycję Zapisz i uruchom ponownie, aby potwierdzić.

    Zrzut ekranu przedstawiający przycisk zapisz i uruchom.

  9. Jeśli jest to pierwsze uruchomienie potoku w tej puli, może zostać wyświetlony monit o udzielenie uprawnień przed uruchomieniem potoku.

  10. 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

Zobacz też