Udostępnij za pośrednictwem


Konfigurowanie zasad przechowywania w usłudze Azure DevTest Labs

W tym artykule opisano ustawianie zasad przechowywania, czyszczenie fabryki i wycofywanie starych obrazów ze wszystkich pozostałych laboratoriów DevTest Labs w organizacji.

Wymagania wstępne

Przed kontynuowaniem upewnij się, że wykonasz następujące czynności:

Powinny już istnieć następujące elementy:

  • Laboratorium dla fabryki obrazów w Azure DevTest Labs
  • Co najmniej jeden Azure DevTest Labs docelowy, w którym fabryka będzie rozpowszechniać złote obrazy
  • Projekt usługi Azure DevOps używany do automatyzacji fabryki obrazów.
  • Lokalizacja kodu źródłowego zawierająca skrypty i konfigurację (w naszym przykładzie w tym samym projekcie DevOps użytym powyżej)
  • Definicja kompilacji do organizowania zadań Azure PowerShell

Ustawianie zasad przechowywania

Przed skonfigurowaniem kroków oczyszczania zdefiniuj liczbę obrazów historycznych, które mają być zachowywane w usłudze DevTest Labs. Po ukończeniu artykułu Run an image factory from Azure DevOps (Uruchamianie fabryki obrazów z usługi Azure DevOps ) skonfigurowano różne zmienne kompilacji. Jednym z nich był ImageRetention. Dla tej zmiennej ustawiono wartość 1, co oznacza, że usługa DevTest Labs nie będzie przechowywać historii obrazów niestandardowych. Dostępne będą tylko najnowsze obrazy rozproszone. Jeśli zmienisz tę zmienną na 2, zostanie zachowany najnowszy obraz rozproszony oraz poprzednie. Możesz ustawić tę wartość, aby zdefiniować liczbę obrazów historycznych, które mają być utrzymywane w usłudze DevTest Labs.

Czyszczenie fabryki

Pierwszym krokiem czyszczenia fabryki jest usunięcie złotych maszyn wirtualnych obrazu z fabryki obrazów. Istnieje skrypt do wykonania tego zadania tak samo jak w przypadku naszych poprzednich skryptów. Pierwszym krokiem jest dodanie kolejnego zadania Azure PowerShell do definicji kompilacji, jak pokazano na poniższej ilustracji:

Zrzut ekranu przedstawiający krok programu PowerShell.

Po utworzeniu nowego zadania na liście wybierz element i wypełnij wszystkie szczegóły, jak pokazano na poniższej ilustracji:

Zrzut ekranu przedstawiający zadanie Wyczyść stare obrazy programu PowerShell.

Parametry skryptu to: -DevTestLabName $(devTestLabName).

Wycofywanie starych obrazów

To zadanie usuwa wszystkie stare obrazy, zachowując tylko historię zgodną ze zmienną kompilacji ImageRetention . Dodaj dodatkowe zadanie kompilacji Azure PowerShell do naszej definicji kompilacji. Po dodaniu wybierz zadanie i wypełnij szczegóły, jak pokazano na poniższej ilustracji:

Zrzut ekranu przedstawiający zadanie wycofywania starych obrazów programu PowerShell.

Parametry skryptu to: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention)

Kolejkowanie kompilacji

Po zakończeniu definicji kompilacji utwórz nową kompilację w kolejce, aby upewnić się, że wszystko działa. Po pomyślnym zakończeniu kompilacji nowe obrazy niestandardowe zostaną wyświetlone w laboratorium docelowym. Jeśli sprawdzisz laboratorium fabryki obrazów, nie widzisz zaaprowizowanych maszyn wirtualnych. W przypadku gromadzenia kolejnych kompilacji w kolejce zostaną wyświetlone zadania oczyszczania, które wycofują stare obrazy niestandardowe z usługi DevTest Labs. Wycofanie jest zgodne z wartością przechowywania ustawioną w zmiennych kompilacji.

Uwaga

Jeśli potok kompilacji został wykonany na końcu ostatniego artykułu z serii, ręcznie usuń maszyny wirtualne utworzone w laboratorium fabryki obrazów przed kolejką nowej kompilacji. Krok oczyszczania ręcznego jest potrzebny tylko podczas konfigurowania wszystkich elementów i sprawdzania, czy działa.

Podsumowanie

Teraz masz działającą fabrykę obrazów, która może generować i rozpowszechniać obrazy niestandardowe w laboratoriach na żądanie. W tym momencie wystarczy prawidłowo skonfigurować obrazy i zidentyfikować laboratoria docelowe. Jak wspomniano w poprzednim artykule, plik Labs.json znajdujący się w folderze Configuration określa, które obrazy powinny być udostępniane w każdym laboratorium docelowym. Podczas dodawania innych laboratoriów DevTest Labs do organizacji wystarczy dodać wpis w pliku Labs.json dla nowego laboratorium.

Dodawanie nowego obrazu do fabryki jest również proste. Jeśli chcesz dołączyć nowy obraz do fabryki, otwórz Azure Portal i przejdź do laboratorium fabryki. Wybierz przycisk, aby dodać maszynę wirtualną, a następnie wybierz żądany obraz z witryny Marketplace i artefakty. Zamiast wybierać przycisk Utwórz, aby utworzyć nową maszynę wirtualną, wybierz pozycję Wyświetl szablon azure Resource Manager. Zapisz szablon jako plik json w folderze GoldenImages w repozytorium. Przy następnym uruchomieniu fabryki obrazów zostanie utworzony obraz niestandardowy.

Następne kroki

  1. Zaplanuj okresową kompilację/wydanie , aby uruchomić fabrykę obrazów. Regularnie odświeża obrazy generowane przez fabrykę.
  2. Utwórz więcej złotych obrazów dla fabryki. Możesz również rozważyć utworzenie artefaktów w celu utworzenia skryptu większej liczby elementów zadań konfiguracji maszyny wirtualnej i uwzględnienia artefaktów w obrazach fabryki.
  3. Utwórz oddzielną kompilację/wydanie , aby uruchomić oddzielnie skrypt DistributeImages . Ten skrypt można uruchomić po wprowadzeniu zmian w pliku Labs.json i skopiowaniu obrazów do laboratoriów docelowych bez konieczności ponownego tworzenia wszystkich obrazów.