Używanie pierścieni wdrażania z wydaniami rozszerzeń
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Dzięki pierścieniom wdrażania można stopniowo wdrażać i weryfikować zmiany w rozszerzeniu w środowisku produkcyjnym, ograniczając jednocześnie wpływ na użytkowników.
Nie zalecamy wdrażania we wszystkich środowiskach produkcyjnych w tym samym czasie, co uwidacznia wszystkich użytkowników w zmianach. Stopniowe wdrażanie uwidacznia użytkowników w miarę upływu czasu, weryfikowanie zmian w środowisku produkcyjnym przy mniejszej liczbie użytkowników.
W poniższej tabeli przedstawiono różnice między obszarami, których dotyczy problem, gdy używasz pierścieni, a nie pierścieni.
Bez pierścieni | Obszar | Z pierścieniami |
---|---|---|
Ręczne i podatne na błędy | Tworzenie | Zautomatyzowane i spójne |
Ręczne i podatne na błędy | Zwolnij | Zautomatyzowane i spójne |
Godziny | Czas kompilacji (TTB) | Sekundy |
Dni | Czas wydania (TTR) | Minuty |
Połączenie od użytkownika | Wykrywanie problemów | Proaktywne |
Dni do tygodni | Rozwiązywanie problemów | Minuty do dni |
Aby uzyskać więcej informacji, zobacz Konfigurowanie potoków wydania na potrzeby bezpiecznych wdrożeń.
Wymagania wstępne
- Przejrzyj potoki ciągłej integracji/ciągłego wdrażania i Zatwierdzenia, aby uzyskać szczegółową dokumentację potoków i funkcji zatwierdzania dla wydań.
Przypisywanie typów użytkowników
Określ, którzy użytkownicy najlepiej nadają się dla każdego typu użytkownika. Przekaż możliwość przekazywania opinii i poziomów ryzyka w każdej warstwie, ponieważ ma kluczowe znaczenie dla ustawienia oczekiwań i zapewnienia sukcesu. W poniższym przykładzie użytkownicy są podzieleni na trzy grupy w środowisku produkcyjnym:
- Kanarki: dobrowolnie testują funkcje zaraz po ich udostępniu.
- Wczesnych użytkowników: dobrowolne wersje zapoznawcze, uważane za bardziej wyrafinowane niż kanary bity.
- Użytkownicy: zużywają produkty, po przejściu przez kanarki i wczesnych użytkowników.
Mapuj topologię
Zamapuj topologię rozszerzenia na model wdrażania pierścieniowego, aby ograniczyć wpływ zmian na użytkowników i dostarczyć wartość. W przypadku naszych rozszerzeń społeczności typu open source używamy głównie wdrożenia opartego na pierścieniu, aby stopniowo uwidaczniać nową wersję kanary, wczesnych użytkowników i użytkowników.
Na poziomie aplikacji kompozycja rozszerzeń usługi Azure DevOps jest łatwa do opracowywania, skalowania i wdrażania niezależnie.
Każde rozszerzenie wykonuje następujące zadania:
- Ma jeden z większej liczby plików internetowych i skryptów
- Interfejsy z klientem Core
- Interfejsy z klientem REST i interfejsami API REST
- Utrwala stan w pamięci podręcznej lub odpornym magazynie
Na poziomie infrastruktury rozszerzenia są publikowane w witrynie Marketplace. Po zainstalowaniu rozszerzenia w organizacji jest ono hostowane przez portal usługi Azure DevOps ze stanem utrwalone w usłudze Azure Storage lub w magazynie danych rozszerzenia.
Topologia rozszerzenia doskonale nadaje się do modelu wdrażania pierścieniowego i publikowania rozszerzenia w każdym pierścieniu wdrażania:
- Prywatna wersja dewelopera pierścienia kanarowego
- Prywatna wersja zapoznawcza dla pierścienia wczesnego wdrażania
- Publiczna wersja produkcyjna pierścienia użytkowników
Napiwek
Opublikuj rozszerzenie jako prywatne, aby kontrolować narażenie zaproszonych użytkowników.
Przenoszenie zmian za pośrednictwem pierścieni wdrażania
Zobacz poniższy przykładowy przepływ przenoszenia zmian za pośrednictwem pierścieni wdrażania.
Użyj rozszerzenia Azure DevOps Developer Tools Build Tasks, aby spakować i opublikować rozszerzenia w witrynie Marketplace.
- Deweloper z projektu rozszerzenia Widżet odliczania zatwierdza zmianę w repozytorium GitHub .
- Zatwierdzenie wyzwala kompilację ciągłej integracji.
- Nowa kompilacja wyzwala wyzwalacz ciągłego wdrażania, który automatycznie uruchamia wdrożenie środowiska Kanaries .
- Wdrożenie Kanaries publikuje rozszerzenie prywatne w witrynie Marketplace i udostępnia je wstępnie zdefiniowanym organizacjom. Zmiana ma wpływ tylko na kanarki .
- Wdrożenie kanarne wyzwala wdrożenie środowiska wczesnego wdrażania. Brama zatwierdzania przed wdrożeniem wymaga, aby każdy z autoryzowanych użytkowników zatwierdził wydanie.
- Wdrożenie wczesnego wdrażania publikuje prywatne rozszerzenie na platformie handlowej i udostępnia je wstępnie zdefiniowanym organizacjom. Zmiana dotyczy zarówno kanarków, jak i wczesnych użytkowników.
- Wdrożenie wczesnego wdrażania wyzwala wdrożenie środowiska Użytkownicy. Bardziej rygorystyczna brama zatwierdzania przed wdrożeniem wymaga, aby wszyscy autoryzowani użytkownicy zatwierdzali wydanie.
- Wdrożenie Użytkownicy publikuje rozszerzenie publiczne w witrynie Marketplace. Na tym etapie zmiana ma wpływ na wszystkie osoby, które zainstalowały rozszerzenie w swojej organizacji.
- Kluczem jest uświadomienie sobie, że efekt wzrasta, gdy zmiana przechodzi przez pierścienie. Uwidacznianie zmian w kanariach i wczesnych użytkowników daje dwie możliwości weryfikacji zmian i poprawek krytycznych usterek przed wydaniem do środowiska produkcyjnego.
Monitorowanie problemów
Monitorowanie i alerty mogą pomóc w wykrywaniu i rozwiązywaniu problemów. Określ, jaki typ danych jest ważny, na przykład: problemy z infrastrukturą, naruszenia i użycie funkcji. Skoncentruj się na alertach z możliwością działania, aby uniknąć ignorowania ich i braku problemów z wysokim priorytetem.
Napiwek
Zacznij od widoków wysokiego poziomu danych, wizualnych pulpitów nawigacyjnych, które można obserwować z daleka i przechodzenia do szczegółów zgodnie z potrzebami. Regularnie sprzątaj widoki i usuwaj cały hałas. Pulpit nawigacyjny wizualizacji opowiada lepszą historię niż wiele wiadomości e-mail z powiadomieniami, często filtrowanych i zapomnianych według reguł poczty e-mail.
Użyj funkcji Team Project Health i innych rozszerzeń, aby utworzyć przegląd potoków, czasów prowadzenia i cyklu oraz zebrać inne informacje. Na przykładowym pulpicie nawigacyjnym widać, że istnieje 34 pomyślnych kompilacji, 21 pomyślnych wydań, 1 wydanie zakończone niepowodzeniem i 2 wersje w toku.
Czy istnieje zależność od flag funkcji?
L.p. Czasami może być konieczne wdrożenie pewnych funkcji w ramach wydania, ale nie jest początkowo widoczne dla użytkowników. Flagi funkcji zapewniają szczegółową kontrolę nad funkcjami uwzględnionym w zmianie. Jeśli na przykład nie masz pewności co do funkcji, możesz użyć flag funkcji, aby ukryć tę funkcję w jednym lub wszystkich pierścieniach wdrażania. Możesz włączyć wszystkie funkcje w pierścieniu kanarków i dostosować podzestaw dla wczesnych użytkowników i użytkowników produkcyjnych, jak pokazano na poniższej ilustracji.
Aby uzyskać więcej informacji, zobacz Progresywne eksperymentowanie z flagami funkcji.
Często zadawane pytania
Pyt.: Jak sprawdzić, czy można wdrożyć zmianę w następnym pierścieniu?
1: Należy mieć spójną listę kontrolną dla użytkowników zatwierdzających wydanie.
Pyt.: Jak długo czekasz, zanim wypchniesz zmianę do następnego pierścienia?
Nie ma stałego czasu trwania ani okresu "ochładzania". Zależy to od tego, jak długo trwa pomyślne ukończenie wszystkich weryfikacji wersji.
Pyt.: Jak zarządzać poprawką?
1: Model wdrażania pierścieniowego umożliwia przetwarzanie poprawki tak jak każda inna zmiana. Szybciej napotkasz problem, tym szybciej można wdrożyć poprawkę bez efektu w pierścieniach podrzędnych.
Pyt.: Jak radzić sobie ze zmiennymi obejmującymi udostępnione środowiska wydania?
1: Zapoznaj się ze zmiennymi wydania domyślnego i niestandardowego.
Pyt.: Jak można zarządzać wpisami tajnymi używanymi przez potok?
1: Aby chronić klucze kryptograficzne i inne wpisy tajne używane przez potoki, zobacz Azure Key Vault.
Powiązane artykuły
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla