Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DevOps to metodologia tworzenia oprogramowania, która integruje programowanie oprogramowania (Dev) z operacjami systemowymi (Ops). System pomaga dostarczać nowe funkcje oprogramowania, aktualizacje i poprawki zgodne z celami biznesowymi.
Metodologia metodyki DevOps obejmuje również:
- Projektowanie nowych funkcji na podstawie celów, wzorców użycia i opinii klientów.
- Naprawianie, odzyskiwanie i utwardzanie systemu w przypadku wystąpienia problemów.
Jednym ze składników metodologii DevOps jest ciąg CI/CD (ciągłej integracji i ciągłego dostarczania). Pipeline CI/CD przenosi informacje, kod i zasoby z zatwierdzenia w systemie kontroli wersji poprzez serię kroków, aby stworzyć system. Kroki obejmują kompilację, testowanie i wydanie.
Można używać Azure DevTest Labs w potokach CI/CD. W tym artykule omówiono używanie usługi DevTest Labs w potokach kompilacji, testowania i wydawania ciągłej integracji/ciągłego wdrażania w środowisku przedsiębiorstwa.
Zalety korzystania z usługi DevTest Labs w przepływach pracy devOps
Laboratorium powinno być używane tylko przez zespół pracujący nad obszarem funkcji. Ten fokus umożliwia szybsze zmiany, ale ogranicza wszelkie negatywne skutki do mniejszej grupy. Zmiany lub problemy występują w środowisku laboratoryjnym bez wpływu na inne elementy.
Ten fokus umożliwia również udostępnianie zasobów specyficznych dla danego obszaru, takich jak narzędzia, skrypty i szablony usługi Azure Resource Manager (ARM). Deweloperzy mogą używać zasobów udostępnionych do tworzenia maszyn wirtualnych ze wszystkimi potrzebnymi kodami, narzędziami i konfiguracją. Szablony ARM tworzą maszyny wirtualne i środowiska laboratoryjne z odpowiednimi zasobami Azure. Szablony tworzą zasoby dynamicznie lub tworząc obrazy podstawowe z dostosowaniami.
Rozważmy na przykład scenariusz, w którym produkt jest autonomicznym systemem instalowanym na komputerze klienta. Aby umożliwić szybkie testowanie kodu w pętli wewnętrznej, DevTest Labs może tworzyć maszyny wirtualne laboratoryjne z zainstalowanym oprogramowaniem użytkownika, artefaktami i konfiguracjami.
Poniżej przedstawiono niektóre korzyści wynikające z używania laboratoriów w przepływach pracy metodyki DevOps:
Korzystanie z laboratorium jako składnika kojarzy określony ekosystem z ograniczonymi osobami. Zazwyczaj zespołowi lub grupie pracującej w wspólnym obszarze lub nad określoną funkcją przypisuje się laboratorium. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
Replikacja infrastruktury w chmurze. Deweloper może szybko skonfigurować ekosystem programisty, który obejmuje maszynę wirtualną dewelopera z kodem źródłowym i narzędziami. Aby umożliwić szybsze tworzenie pętli wewnętrznej, deweloper może również utworzyć środowisko, które jest niemal identyczne z konfiguracją produkcyjną.
Aby włączyć testowanie asynchroniczne, laboratorium w potoku ciągłej integracji/ciągłego wdrażania może jednocześnie obsługiwać kilka różnych środowisk przedprodukcyjnych lub maszyn. W laboratorium można wdrażać różne infrastruktury pomocy technicznej i tworzyć agentów oraz zarządzać nimi. You can deploy and manage different support infrastructures and build agents in a lab.
Korzystanie ze środowisk testowych w potokach CI/CD
Potok CI/CD jest krytycznym komponentem DevOps. Pipeline integruje kod z pull requestu dewelopera z istniejącym kodem, a następnie wdraża go w ekosystemie produkcyjnym. W przypadku integracji z usługą DevTest Labs nie wszystkie zasoby muszą znajdować się w laboratorium. Można na przykład skonfigurować hosta serwera Jenkins poza laboratorium w celu uzyskania bardziej trwałego zasobu. Oto kilka konkretnych przykładów na integrację laboratoriów w potok ciągłej integracji/ciągłego wdrażania.
Build
Potok kompilacji tworzy pakiet składników do testowania i przekazywania do wydania. Dynamiczne tworzenie infrastruktury umożliwia większą kontrolę. Laboratoria mogą być częścią ciągu kompilacji jako lokalizacje dla agentów kompilacji i innych zasobów wspierających. Usługa DevTest Labs może ograniczyć dostęp do laboratorium. Zwiększa to bezpieczeństwo agentów budujących i zmniejsza możliwość przypadkowego uszkodzenia.
Ponieważ w laboratorium może być dostępnych wiele środowisk, każda kompilacja może być uruchamiana asynchronicznie. Identyfikator kompilacji jest częścią informacji o środowisku, które jednoznacznie identyfikują zasoby w określonej kompilacji.
Test
Potok ciągłej integracji/ciągłego wdrażania może zautomatyzować tworzenie zasobów usługi DevTest Labs, takich jak maszyny wirtualne i środowiska na potrzeby automatycznego i ręcznego testowania. Potok używa artefaktów kompilacji lub formuł do tworzenia maszyn wirtualnych, które mają niestandardowe konfiguracje testowe.
Release
Proces wydania może użyć usługi DevTest Labs do weryfikacji przed wdrożeniem kodu. Proces jest podobny do testowania. Zasoby produkcyjne nie powinny być wdrażane w usłudze DevTest Labs.
Customization
Usługa Azure Pipelines, składnik usługi Azure DevOps Services, udostępnia istniejące zadania umożliwiające manipulowanie maszynami wirtualnymi i środowiskami w określonych laboratoriach. Usługa Azure Pipelines jest jednym ze sposobów zarządzania potokiem CI/CD. Laboratorium można zintegrować z dowolnym systemem, który obsługuje wywoływanie interfejsów API REST, uruchamianie skryptów programu PowerShell lub korzystanie z interfejsu wiersza polecenia platformy Azure.
Niektórzy menedżerowie potoków CI/CD mają istniejące wtyczki typu open source, które mogą zarządzać zasobami platformy Azure i usługi DevTest Labs. Może być konieczne użycie niestandardowego skryptu w celu dopasowania do potrzeb ciągu przetwarzania. Po uruchomieniu zadania użyj jednostki usługi z odpowiednią rolą, zazwyczaj Współautor, aby uzyskać dostęp do laboratorium.