Udostępnij za pośrednictwem


Zarządzanie zasobami maszyny wirtualnej w środowiskach

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

W tym artykule opisano sposób używania zasobów maszyny wirtualnej w środowiskach do zarządzania wdrożeniami usługi Azure Pipelines na wielu maszynach. Agentów można również zainstalować na własnych serwerach na potrzeby wdrożeń stopniowych.

Zasoby maszyn wirtualnych mogą istnieć w środowiskach, takich jak programowanie, testowanie lub produkcja. Po zdefiniowaniu środowiska można dodawać maszyny wirtualne do celu przy użyciu wdrożeń. Historia wdrażania środowiska zapewnia możliwość śledzenia z każdej maszyny wirtualnej do potoku.

Wymagania wstępne

  • Dostęp do repozytorium źródłowego połączonego z potokiem.
  • Dostęp i uprawnienia do pobierania i uruchamiania skryptów wykonywalnych na maszynach wirtualnych, które chcesz połączyć ze środowiskiem.
  • Uprawnienia administratora projektu lub administratora kompilacji w projekcie usługi Azure DevOps, który zawiera środowisko. Aby uzyskać więcej informacji, zobacz Zasoby zabezpieczeń potoku.
  • Rola administratora dla puli wdrożeń lub zestaw serwerów docelowych dostępnych dla organizacji. Aby uzyskać więcej informacji, zobacz uprawnienia puli wdrożenia i środowiska.

Uwaga

Aby skonfigurować agenta grupy wdrażania lub jeśli podczas rejestrowania zasobu środowiska maszyny wirtualnej zostanie wyświetlony błąd, upewnij się, że ustawiono zakres osobistego tokenu dostępu (PAT) na Wszystkie dostępne organizacje.

Tworzenie środowiska

Aby dodać zasób maszyny wirtualnej do środowiska, wykonaj poniższą procedurę. Możesz użyć tego samego procesu, aby skonfigurować maszyny fizyczne.

Dodawanie zasobu maszyny wirtualnej

  1. W projekcie usługi Azure DevOps przejdź do pozycji Środowiska potoków>, a następnie wybierz pozycję Utwórz środowisko lub Nowe środowisko.

  2. Na pierwszym ekranie Nowe środowisko dodaj nazwę i opcjonalny opis.

  3. W obszarze Zasób wybierz pozycję Maszyny wirtualne, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający dodawanie środowiska.

Kopiowanie skryptu rejestracji

Skrypty agenta dla zasobów maszyny wirtualnej są podobne do skryptów dla własnych agentów i używają tych samych poleceń. Skrypty obejmują osobisty token dostępu (PAT) usługi Azure DevOps dla zalogowanego użytkownika, który wygasa trzy godziny po wygenerowaniu skryptu.

  1. Na następnym ekranie Nowe środowisko wybierz pozycję Linux w obszarze System operacyjny.

  2. Skopiuj skrypt rejestracji systemu Linux.

    Zrzut ekranu przedstawiający dodawanie maszyny wirtualnej.

Skrypt jest taki sam dla wszystkich maszyn wirtualnych z systemem Linux dodanych do środowiska. Aby uzyskać więcej informacji na temat instalowania skryptu agenta, zobacz Self-hosted Linux agents (Self-hosted agentów systemu Linux).

Uruchamianie skopiowanego skryptu

  1. Wybierz pozycję Zamknij i zanotuj, że nowe środowisko zostało utworzone. Aby ponownie skopiować skrypt, na przykład w przypadku wygaśnięcia tokenu dostępu wybierz pozycję Dodaj zasób.

    Zrzut ekranu przedstawiający nowo utworzone środowisko komunikatu.

  2. Uruchom skopiowany skrypt na każdej docelowej maszynie wirtualnej, którą chcesz zarejestrować w środowisku.

    Uwaga

    Jeśli maszyna wirtualna ma już na nim uruchomionego innego agenta, podaj unikatową nazwę agenta do zarejestrowania się w środowisku.

Po zarejestrowaniu maszyny wirtualnej jest ona wyświetlana jako zasób na karcie Zasoby środowiska.

Zrzut ekranu przedstawiający kartę Zasoby.

Używanie maszyn wirtualnych w potokach

W potoku YAML możesz kierować maszyny wirtualne, odwołując się do ich środowiska. Domyślnie zadanie jest przeznaczone dla wszystkich maszyn wirtualnych zarejestrowanych dla tego środowiska resourceName.

Uwaga

Po ponowieniu próby etapu wdrożenie zostanie uruchomione ponownie na wszystkich maszynach wirtualnych, a nie tylko w przypadku elementów docelowych, które zakończyły się niepowodzeniem.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
   name: VMenv
   resourceName: VMenv
   resourceType: virtualMachine
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

Uwaga

Wartości resourceType , takie jak virtualMachine , są uwzględniane wielkość liter. Niepoprawne wielkości liter nie znaleziono pasujących zasobów.

Wdrożenie można wdrożyć na określonych maszynach wirtualnych w środowisku, określając je w pliku resourceName. W poniższym przykładzie wdrożono tylko zasób maszyny wirtualnej o nazwie RESOURCE-PC w VMenv środowisku.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Aby dowiedzieć się więcej o zadaniach wdrażania potoku YAML, zobacz schemat potoków YAML.

Dodawanie tagów i zarządzanie nimi

Tagi to sposób kierowania określonego zestawu maszyn wirtualnych w środowisku do wdrożenia. Tagi są ograniczone do 256 znaków. Nie ma limitu liczby tagów, których można użyć.

Tagi można dodawać lub usuwać tagi dla maszyn wirtualnych w skryscie rejestracji interakcyjnej lub za pośrednictwem interfejsu użytkownika, wybierając pozycję Więcej akcji dla zasobu maszyny wirtualnej.

Zrzut ekranu przedstawiający ustawianie tagów maszyn wirtualnych.

Jeśli określisz wiele tagów, potok używa tylko maszyn wirtualnych, które zawierają wszystkie tagi. W poniższym przykładzie są przeznaczone tylko maszyny wirtualne, które mają tagi windows i .prod Maszyny wirtualne, które mają tylko jeden lub żaden z tagów, nie są docelowe.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    tags: windows,prod # only deploy to VMs with both windows and prod tags
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Stosowanie strategii wdrażania

Wdrożenie można zastosować strategy , aby zdefiniować sposób wdrażania aplikacji. Maszyny wirtualne obsługują zarówno strategie, jak runOnce rolling i . Aby uzyskać więcej informacji na temat strategii wdrażania i punktów zaczepienia cyklu życia, zobacz Strategie wdrażania.

Wyświetlanie historii wdrażania

Wybierz kartę Wdrożenia , aby uzyskać pełną możliwość śledzenia zatwierdzeń i elementów roboczych oraz historię wdrażania między potokami dla poszczególnych środowisk i zasobów.

Zrzut ekranu przedstawiający widok Wdrożenia maszyn wirtualnych.

Usuwanie maszyny wirtualnej ze środowiska

Aby usunąć maszynę wirtualną ze środowiska systemu Linux, uruchom następujące polecenie na każdej maszynie.

./config.sh remove