Bramy wdrożenia
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Bramy umożliwiają automatyczne zbieranie sygnałów kondycji z usług zewnętrznych, a następnie podwyższanie poziomu wydania, gdy wszystkie sygnały zakończą się powodzeniem lub zatrzymają wdrożenie po przekroczeniu limitu czasu. Zazwyczaj bramy są używane w połączeniu z zarządzaniem zdarzeniami, zarządzaniem problemami, zarządzaniem zmianami, monitorowaniem i zewnętrznymi systemami zatwierdzania.
Przypadki użycia
Oto niektóre typowe przypadki użycia bram wdrożenia:
- Zarządzanie zdarzeniami: przed kontynuowaniem wdrażania upewnij się, że zostały spełnione określone kryteria. Na przykład upewnij się, że wdrożenie ma miejsce tylko wtedy, gdy nie istnieją żadne usterki o priorytcie zerowym.
- Szukaj zatwierdzeń: powiadom użytkowników zewnętrznych, takich jak działy prawne, audytorzy lub menedżerowie IT o wdrożeniu, integrując się z innymi usługami, takimi jak Microsoft Teams lub Slack, i czekaj na ich zatwierdzenia.
- Walidacja jakości: metryki potoku zapytań, takie jak szybkość przekazywania lub pokrycie kodu, i są wdrażane tylko wtedy, gdy znajdują się w wstępnie zdefiniowanym progu.
- Skanowanie zabezpieczeń: przeprowadzaj kontrole zabezpieczeń, takie jak skanowanie artefaktów, podpisywanie kodu i sprawdzanie zasad. Brama wdrożenia może zainicjować skanowanie i poczekać na jego zakończenie lub po prostu sprawdzić ukończenie.
- Środowisko użytkownika względem punktu odniesienia: korzystanie z telemetrii produktu zapewnia, że środowisko użytkownika nie uległo pogorszeniu od stanu punktu odniesienia. Metryki środowiska użytkownika przed użyciem wdrożenia jako punktu odniesienia.
- Zarządzanie zmianami: przed kontynuowaniem wdrażania poczekaj na ukończenie procedur zarządzania zmianami w systemie, takim jak ServiceNow.
- Kondycja infrastruktury: wykonaj monitorowanie i zweryfikuj infrastrukturę względem reguł zgodności po wdrożeniu lub poczekaj na wykorzystanie zasobów w dobrej kondycji i pozytywny raport zabezpieczeń.
Większość parametrów kondycji zmienia się w czasie, regularnie zmieniając ich stan z dobrej kondycji na w złej kondycji i z powrotem do dobrej kondycji. Aby uwzględnić takie odmiany, wszystkie bramy są okresowo ponownie oceniane, dopóki wszystkie z nich nie zostaną wykonane w tym samym czasie. Wykonanie i wdrożenie wydania nie jest kontynuowane, jeśli wszystkie bramy nie powiedzie się w tym samym interwale i przed skonfigurowanym limitem czasu.
Definiowanie bramy dla etapu
Bramy można włączyć na początku etapu (warunki przed wdrożeniem) lub na końcu etapu (warunki po wdrożeniu) lub obu tych warunków. Aby uzyskać więcej informacji, zobacz Konfigurowanie bram .
Opóźnienie przed oceną jest opóźnieniem czasu na początku procesu oceny bramy, który umożliwia bramom inicjowanie, stabilizację i rozpoczęcie dostarczania dokładnych wyników dla bieżącego wdrożenia. Aby uzyskać więcej informacji, zobacz Gate evaluation flows (Przepływy oceny bramy).
- W przypadku bram przed wdrożeniem opóźnienie to czas wymagany do zarejestrowania wszystkich usterek względem wdrożonych artefaktów.
- W przypadku bram po wdrożeniu opóźnienie to maksymalny czas potrzebny na osiągnięcie stałego stanu operacyjnego wdrożonej aplikacji, czas potrzebny na wykonanie wszystkich wymaganych testów na wdrożonym etapie oraz czas potrzebny na zarejestrowanie zdarzeń po wdrożeniu.
Domyślnie dostępne są następujące bramy:
- Wywoływanie funkcji platformy Azure: wyzwalanie wykonywania funkcji platformy Azure i zapewnienie pomyślnego ukończenia. Aby uzyskać więcej informacji, zobacz Zadanie Funkcja platformy Azure.
- Wykonywanie zapytań dotyczących alertów usługi Azure Monitor: obserwuj skonfigurowane reguły alertów usługi Azure Monitor dla aktywnych alertów. Aby uzyskać więcej informacji, zobacz Zadanie Usługa Azure Monitor.
- Wywoływanie interfejsu API REST: wykonaj wywołanie interfejsu API REST i kontynuuj, jeśli zwróci on pomyślną odpowiedź. Aby uzyskać więcej informacji, zobacz Zadanie Wywołanie interfejsu API REST.
- Elementy robocze kwerendy: upewnij się, że liczba pasujących elementów roboczych zwracanych z zapytania mieści się w progu. Aby uzyskać więcej informacji, zobacz Zadanie Zapytanie dotyczące elementów roboczych.
- Ocena zabezpieczeń i zgodności: Ocena zgodności usługi Azure Policy dla zasobów w zakresie danej subskrypcji i grupy zasobów oraz opcjonalnie na określonym poziomie zasobów. Aby uzyskać więcej informacji, zobacz Zadanie Sprawdzanie zgodności usługi Azure Policy.
Możesz też tworzyć własne bramy za pomocą rozszerzeń w witrynie Marketplace.
Opcje oceny, które mają zastosowanie do wszystkich bram, to:
- Czas między ponowną oceną bram. Przedział czasu między kolejnymi ocenami bram. W każdym interwale próbkowania nowe żądania są wysyłane współbieżnie do każdej bramy, a nowe wyniki są oceniane. Zaleca się, aby interwał próbkowania był większy niż najdłuższy typowy czas odpowiedzi skonfigurowanych bram, aby umożliwić czas odebrania wszystkich odpowiedzi na ocenę.
- Przekroczenie limitu czasu, po którym bramy kończą się niepowodzeniem. Maksymalny okres oceny dla wszystkich bram. Wdrożenie zostanie odrzucone, jeśli zostanie osiągnięty limit czasu, zanim wszystkie bramy powiedzą się w tym samym interwale próbkowania.
- Bramy i zatwierdzenia. Wybierz wymaganą kolejność wykonywania dla bram i zatwierdzeń, jeśli skonfigurowano obie te opcje. W przypadku warunków przed wdrożeniem ustawieniem domyślnym jest najpierw monitowanie o ręczne (użytkownika) zatwierdzenia, a następnie ocenę bram. Dzięki temu system może ocenić funkcje bramy, jeśli wydanie zostanie odrzucone przez użytkownika. W przypadku warunków po wdrożeniu wartością domyślną jest ocena bram i monitowanie o ręczne zatwierdzenia tylko wtedy, gdy wszystkie bramy zakończyły się pomyślnie. Dzięki temu osoby zatwierdzające mają wszystkie informacje wymagane do zatwierdzenia.
Aby uzyskać więcej informacji na temat analizy bram, zobacz Wyświetlanie dzienników zatwierdzeń oraz Monitorowanie i śledzenie wdrożeń .
Przykłady przepływu oceny bramy
Na poniższym diagramie przedstawiono przepływ oceny bramy, w którym po początkowym okresie opóźnienia stabilizacji i trzech interwałach próbkowania wdrożenie jest zatwierdzane.
Na poniższym diagramie przedstawiono przepływ oceny bramy, w którym po początkowym okresie opóźnienia stabilizacji nie wszystkie bramy zakończyły się powodzeniem w każdym interwale próbkowania. W takim przypadku po wygaśnięciu limitu czasu wdrożenie zostanie odrzucone.
Zasoby
- Tworzenie bram niestandardowych
- Tonacja twittera jako brama wydania
- Problemy z usługą GitHub jako bramą wydania