Używanie usługi DevTest Labs w potokach kompilacji i wydań usługi Azure Pipelines
Ten artykuł zawiera informacje na temat sposobu użycia usługi DevTest Labs w potokach kompilacji i wydania usługi Azure Pipelines.
Ogólny przepływ
Podstawowy przepływ polega na utworzeniu potoku kompilacji , który wykonuje następujące zadania:
- Skompiluj kod aplikacji.
- Utwórz środowisko podstawowe w usłudze DevTest Labs.
- Zaktualizuj środowisko przy użyciu informacji niestandardowych.
- Wdrażanie aplikacji w środowisku devTest Labs
- Przetestuj kod.
Po pomyślnym zakończeniu kompilacji potok wydania użyje artefaktów kompilacji do wdrożenia przejściowego lub produkcyjnego.
Jedną z niezbędnych lokalizacji jest to, że wszystkie informacje potrzebne do ponownego utworzenia przetestowanego ekosystemu są dostępne w artefaktach kompilacji, w tym w konfiguracji zasobów platformy Azure. Ponieważ zasoby platformy Azure generują koszt, gdy są używane, firmy chcą kontrolować lub śledzić użycie tych zasobów. W niektórych sytuacjach usługa Azure Resource Manager szablony używane do tworzenia i konfigurowania zasobów mogą być zarządzane przez inny dział, taki jak DZIAŁ IT. Te szablony mogą być przechowywane w innym repozytorium. Prowadzi to do interesującej sytuacji podczas tworzenia i testowania kompilacji. Zarówno kod, jak i konfiguracja muszą być przechowywane w artefaktach kompilacji, aby ponownie utworzyć system w środowisku produkcyjnym.
Korzystając z usługi DevTest Labs podczas fazy kompilacji i testowania, możesz dodać szablony usługi Azure Resource Manager i pliki pomocnicze do źródeł kompilacji. W fazie wydania wdrażasz dokładną konfigurację używaną w teście do środowiska produkcyjnego. Zadanie Tworzenie środowiska Azure DevTest Labs z odpowiednią konfiguracją zapisuje szablony Resource Manager w artefaktach kompilacji. W tym przykładzie użyjesz kodu z artykułu Samouczek: tworzenie platformy .NET Core i SQL Database aplikacji internetowej w Azure App Service, aby wdrożyć i przetestować aplikację internetową na platformie Azure.
Konfigurowanie zasobów platformy Azure
Musisz wcześniej utworzyć kilka elementów:
- Dwa repozytoria. Pierwszy z kodem z samouczka i szablonem Resource Manager z dwiema maszynami wirtualnymi. Drugi będzie zawierać podstawowy szablon usługi Azure Resource Manager (istniejąca konfiguracja).
- Grupa zasobów do wdrożenia kodu produkcyjnego i konfiguracji.
- Laboratorium z połączeniem z repozytorium konfiguracji dla potoku kompilacji. Zaewidencjonuj szablon Resource Manager do repozytorium konfiguracji jako plik azuredeploy.json z plikiem metadata.json. Ta nazwa umożliwia usłudze DevTest Labs rozpoznawanie i wdrażanie szablonu.
Potok kompilacji tworzy środowisko usługi DevTest Labs i wdraża kod na potrzeby testowania.
Konfigurowanie potoku kompilacji
W usłudze Azure Pipelines utwórz potok kompilacji przy użyciu kodu z artykułu Samouczek: tworzenie aplikacji internetowej platformy .NET Core i SQL Database w Azure App Service. Użyj szablonu ASP.NET Core, który wypełni niezbędne zadanie do kompilowania, testowania i publikowania kodu.
Dodaj jeszcze trzy zadania, aby utworzyć środowisko w usłudze DevTest Labs i wdrożyć je w środowisku.
Tworzenie zadania środowiska
W zadaniu tworzenia środowiska Azure DevTest Labs użyj list rozwijanych, aby wybrać następujące wartości:
- Subskrypcja platformy Azure
- Nazwa laboratorium
- Nazwa repozytorium
- Nazwa szablonu (który pokazuje folder, w którym jest przechowywane środowisko).
Zalecamy używanie list rozwijanych na stronie zamiast ręcznego wprowadzania informacji. Jeśli ręcznie wprowadzisz informacje, wprowadź w pełni kwalifikowane identyfikatory zasobów platformy Azure. Zadanie wyświetla przyjazne nazwy zamiast identyfikatorów zasobów.
Nazwa środowiska jest wyświetlaną nazwą wyświetlaną wyświetlaną w usłudze DevTest Labs. Powinna to być unikatowa nazwa każdej kompilacji. Na przykład: TestEnv$(Build.BuildId).
Można określić plik parametrów lub parametry, aby przekazać informacje do szablonu Resource Manager.
Wybierz opcję Utwórz zmienne wyjściowe na podstawie danych wyjściowych szablonu środowiska i wprowadź nazwę odwołania. W tym przykładzie wprowadź wartość BaseEnv jako nazwę odwołania. Ten element BaseEnv jest używany podczas konfigurowania następnego zadania.
Wypełnianie zadania środowiska
Drugie zadanie (Azure DevTest Labs wypełnienie środowiska) polega na zaktualizowaniu istniejącego środowiska DevTest Labs. Zadanie Utwórz środowisko generuje dane wyjściowe BaseEnv.environmentResourceId , które są używane do konfigurowania nazwy środowiska dla tego zadania. Szablon Resource Manager dla tego przykładu ma dwa parametry — adminUserName i adminPassword.
App Service zadanie wdrażania
Trzecie zadanie to zadanie Azure App Service Deploy. Typ aplikacji jest ustawiony na Wartość Aplikacja internetowa, a nazwa App Service jest ustawiona na $(WebSite).
Konfigurowanie potoku wydania
Potok wydania można utworzyć z dwoma zadaniami: Wdrożenie platformy Azure: Tworzenie lub aktualizowanie grupy zasobów i Wdrażanie Azure App Service.
Dla pierwszego zadania określ nazwę i lokalizację grupy zasobów. Lokalizacja szablonu jest połączonym artefaktem. Jeśli szablon Resource Manager zawiera połączone szablony, należy zaimplementować wdrożenie niestandardowej grupy zasobów. Szablon znajduje się w opublikowanym artefaktie upuszczania. Zastąpij parametry szablonu dla szablonu Resource Manager. Pozostałe ustawienia można pozostawić z wartościami domyślnymi.
W drugim zadaniu Wdróż Azure App Service określ subskrypcję platformy Azure, wybierz pozycję Aplikacja internetowa dla pozycji Typ aplikacji i $(WebSite) jako nazwę App Service. Pozostałe ustawienia można pozostawić z wartościami domyślnymi.
Przebieg testu
Po skonfigurowaniu obu potoków ręcznie utwórz kompilację i zobacz, jak działa. Następnym krokiem jest ustawienie odpowiedniego wyzwalacza dla kompilacji i połączenie kompilacji z potokiem wydania.
Następne kroki
Zobacz następujące artykuły: