Udostępnij za pośrednictwem


Środowisko — zasób maszyny wirtualnej

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

Zasoby maszyny wirtualnej umożliwiają zarządzanie wdrożeniami na wielu maszynach przy użyciu potoków YAML. Zasoby maszyn wirtualnych umożliwiają instalowanie agentów na własnych serwerach na potrzeby wdrożeń stopniowych.

Zasoby maszyny wirtualnej łączą się ze środowiskami. Po zdefiniowaniu środowiska można dodawać maszyny wirtualne do celu przy użyciu wdrożeń. Widok historii wdrażania w środowisku zapewnia możliwość śledzenia z maszyny wirtualnej do potoku.

Wymagania wstępne

Musisz mieć co najmniej licencję podstawową i dostęp do następujących obszarów:

  • repozytorium połączone z potokiem
  • maszyna wirtualna, którą chcesz połączyć ze środowiskiem

Aby uzyskać więcej informacji na temat zabezpieczeń usługi Azure Pipelines, zobacz Zasoby zabezpieczeń potoku.

Aby dodać maszynę wirtualną do środowiska, musisz mieć rolę Administracja istrator dla odpowiedniej puli wdrożeń. Pula wdrożeń to zestaw serwerów docelowych dostępnych dla organizacji. Dowiedz się więcej o uprawnieniach puli wdrożeń i środowiska.

Uwaga

Jeśli konfigurujesz agenta grupy wdrażania lub wystąpi błąd podczas rejestrowania zasobu środowiska maszyny wirtualnej, musisz ustawić zakres pat na Wszystkie dostępne organizacje.

Tworzenie zasobu maszyny wirtualnej

Uwaga

Ten sam proces służy do konfigurowania maszyn fizycznych za pomocą skryptu rejestracji.

Pierwszym krokiem podczas dodawania zasobu maszyny wirtualnej jest zdefiniowanie środowiska.

Definiowanie środowiska

  1. Wybierz pozycję Utwórz środowisko lub Nowe środowisko w zależności od tego, czy jest to twoje pierwsze środowisko.
  2. Dodaj nazwę (wymaganą) dla środowiska i opis.
  3. Zapisz nowe środowisko.

Dodawanie zasobu

  1. Wybierz środowisko i wybierz pozycję Dodaj zasób.

  2. Wybierz pozycję Maszyny wirtualne dla typu zasobu . Następnie kliknij przycisk Dalej.

    Dodaj środowisko.

  3. Wybierz system Windows lub Linux dla systemu operacyjnego.

  4. Skopiuj skrypt rejestracji. Skrypt będzie skryptem programu PowerShell, jeśli wybrano skrypt systemu Windows i Linux, jeśli wybrano system Linux.

    Dodaj maszynę wirtualną.

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

    • Jeśli instalujesz w systemie Windows, musisz uruchomić skrypt jako administrator programu PowerShell.
    • Jeśli instalujesz w systemie Linux, musisz mieć uprawnienia do pobierania i uruchamiania skryptów wykonywalnych.

    Uwaga

    • Osobisty token dostępu (PAT) dla zalogowany użytkownik zostanie uwzględniony w skrypcie. Identyfikator pat wygasa w dniu wygenerowania skryptu.
    • Jeśli maszyna wirtualna ma już na nim uruchomionego innego agenta, podaj unikatową nazwę agenta do zarejestrowania się w środowisku.
    • Aby dowiedzieć się więcej na temat instalowania skryptu agenta, zobacz Self-hosted Agentów systemu Linux i własnych agentów systemu Windows. Skrypty agenta dla zasobów maszyny wirtualnej są podobne do skryptów dla własnych agentów i można użyć tych samych poleceń.
  6. Po zarejestrowaniu maszyny wirtualnej jest ona wyświetlana jako zasób środowiska na karcie Zasoby środowiska.

  7. Aby dodać więcej maszyn wirtualnych, skopiuj skrypt ponownie. Wybierz pozycję Dodaj zasób>Maszyny wirtualne. Skrypty systemu Windows i Linux są takie same dla wszystkich maszyn wirtualnych dodanych do środowiska.

  8. Po pomyślnym zainstalowaniu skryptu maszyny wirtualnej maszyna wirtualna zostanie wyświetlona na liście zasobów dla środowiska.

    Wyświetlanie zasobów.

Używanie maszyny wirtualnej w potokach

Docelowe maszyny wirtualne w potoku przez odwołanie się do środowiska. Domyślnie zadanie potoku jest uruchamiane dla wszystkich maszyn wirtualnych zdefiniowanych dla środowiska z elementem resourceName.

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

W resourceType wartościach jest rozróżniana wielkość liter. Określenie nieprawidłowej wielkości liter nie spowoduje znalezienia pasujących zasobów w środowisku. Aby uzyskać więcej informacji, zobacz schemat YAML.

Możesz wybrać określoną maszynę wirtualną ze środowiska, aby odbierać wdrożenie tylko przez określenie go według jego resourceNamewartości . Na przykład aby docelowo wdrożyć tylko zasób maszyny wirtualnej o nazwie USHAN-PC w środowisku, dodaj resourceName parametr i nadaj mu wartość USHAN-PCVMenv .

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

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

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

Dodawanie tagów i zarządzanie nimi

Tagi umożliwiają określanie celu zestawu określonych maszyn wirtualnych w środowisku na potrzeby wdrożenia. Tagi można dodawać do maszyny wirtualnej w ramach skryptu rejestracji interaktywnej lub za pośrednictwem interfejsu użytkownika. Tagi są ograniczone do 256 znaków. Nie ma limitu liczby tagów, których można użyć.

Dodaj lub usuń tagi w interfejsie użytkownika z widoku zasobów, wybierając pozycję Więcej akcji dla zasobu maszyny wirtualnej.

Ustaw tagi maszyn wirtualnych.

Po wybraniu wielu tagów maszyny wirtualne zawierające wszystkie tagi są używane w potoku. Na przykład ten potok jest przeznaczony dla maszyn wirtualnych z tagami windows i .prod Jeśli maszyna wirtualna ma tylko jeden z tych tagów, nie jest ona przeznaczona.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

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

Stosowanie strategii wdrażania

Zastosuj strategię wdrażania, aby zdefiniować sposób wdrażania aplikacji. Strategia runOnce i rolling strategia dla maszyn wirtualnych są obsługiwane. Aby uzyskać więcej informacji na temat strategii wdrażania i punktów zaczepienia cyklu życia, zobacz Wdrażanie zadań/strategii 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.

VMDeployments_view

Usuwanie maszyny wirtualnej ze środowiska

Środowisko systemu Windows

Aby usunąć maszyny wirtualne ze środowiska systemu Windows, uruchom następujące polecenie. Upewnij się, że wykonasz następujące zadania:

  • Uruchamianie polecenia z poziomu wiersza polecenia programu PowerShell administratora
  • Uruchamianie polecenia na każdej maszynie
  • Uruchom polecenie w tej samej ścieżce folderu co polecenie rejestracji środowiska.
./config.cmd remove

Środowisko systemu Linux

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

./config.sh remove

Znane ograniczenia

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