Ścieżka 07Lekcja 5 / 8

Wybierz miejsca, w których Taiga czeka na decyzję

Oddziel zatwierdzenie planu, wykonanie, zgodę na merge i wdrożenie. Skonfiguruj autonomię wokół decyzji, które organizacja musi zachować.

Praktyka11 minSprawdzono

Wydawca Jak piszemy

Czego się nauczysz

  • Odróżnij automatyczne wykonanie od autonomicznego merge'a.
  • Wyjaśnij limity merge'a, domyślne ustawienia produktu i nadpisania inicjatyw.
  • Sprawdź reguły brancha i skutki wdrożenia przed włączeniem automatyzacji.

Oddziel cztery decyzje

Fikcyjna usługa sprzętowa ma cztery różne decyzje: akceptację planu, wykonanie, merge zmiany i wdrożenie. Nie traktuj jednego przełącznika jako upoważnienia do wszystkich czterech.

Przed zmianą autonomii sprawdź działanie pipeline’u repozytorium po merge’u. Jeśli merge do brancha roboczego wyzwala wdrożenie, automatyczny merge również może uruchomić istniejący proces.

Zdecyduj, czy plan czeka

Ustawienie produktu Build on its own by default kontroluje, czy ukończony plan przechodzi do wykonania czy czeka na zatwierdzenie. Wyłącz je, gdy plany wymagają najpierw decyzji człowieka.

Ustawienie Build on its own inicjatywy może zmienić to zachowanie dla konkretnej inicjatywy. Sprawdź ustawienie domyślne i indywidualny wybór przed dodaniem pracy do kolejki.

Approve rozpoczyna wykonanie jako osoba zatwierdzająca, w granicach jej bieżących uprawnień. Nieudany plan nie rozpoczyna wykonania. Automatyzacja wykonania sama nie upoważnia do zmergowania wynikowego pull requesta.

Zrozum hierarchię merge’a

Autonomiczny merge jest kontrolowany osobno i pozostaje wyłączony do włączenia. Udokumentowana integracja obsługuje GitHub, w tym GitHub Enterprise.

PoziomZnaczenie
OrganizacjaNadrzędny limit dopuszczający autonomiczny merge
FabrykaNadrzędny limit dla wszystkiego pod tą fabryką
ProduktUstawienie domyślne dla inicjatyw bez indywidualnego wyboru
InicjatywaWłasny wybór Merge on its own w granicach limitów

Wyłączonego limitu organizacji lub fabryki nie można nadpisać niżej. Wyłączone ustawienie domyślne produktu działa inaczej: inicjatywa może włączyć własny merge, jeśli limity na to pozwalają.

Dla usługi sprzętowej jasno określ początkowy zakres. Inicjatywa o małych konsekwencjach może mieć inny wybór niż zmiana kontroli dostępu pracowników, w dozwolonych granicach.

Zapewnij egzekwowanie wymaganych review

Taiga pyta dostawcę kontroli wersji, czy pull request może zostać zmergowany. Ochrona brancha określa wymagane kontrole, review i inne warunki. Autonomiczny merge nie obchodzi tych reguł.

Jeśli automatyczne review ma blokować merge, ustaw jego wynik jako wymaganą kontrolę statusu przez wspieraną konfigurację repozytorium. Wynik doradczy nie staje się obowiązkowy dlatego, że tego oczekujesz.

Sprawdź również wymagane zatwierdzenia człowieka. Zielona kontrola nie zastępuje zatwierdzenia wymaganego przez politykę. Potwierdź reguły rzeczywistego brancha docelowego.

Zinterpretuj zatrzymany merge

Przeczytaj powód na inicjatywie. Oczekująca kontrola, brak zatwierdzenia, konflikt i niepełny plan wymagają różnych reakcji. Taiga zatrzymuje też autonomiczny merge, gdy poprawki zmieniają kryteria, dzięki którym nieudane kontrole zaczęły przechodzić. Sprawdź taką zmianę bezpośrednio.

Nie usuwaj wymaganej kontroli tylko dlatego, że blokuje postęp. Jeśli nigdy nie raportuje, popraw konfigurację lub użyj zatwierdzonego procesu polityki. Po poprawce sprawdź bieżący commit.

Oddziel upoważnienie do wdrożenia

Taiga GitHub App wykonuje autonomiczny merge i jest zapisywana jako jego wykonawca. Pipeline repozytorium zachowuje istniejące zachowanie wdrażania.

W tym scenariuszu merge wdraża do staging. Produkcja nadal wymaga decyzji organizacji i dowodów. Potwierdź, że pipeline egzekwuje to rozdzielenie. Przejdź do review dostarczenia.

Wykonaj ćwiczenie

Fikcyjna usługa sprzętowa wymaga review planów i pull requestów przez człowieka. Jej główny branch wdraża do staging. Zapisz ustawienie wykonania, wymagane reguły brancha, ustawienie merge'a i osobne zatwierdzenie produkcji.

Pobierz arkusz (Markdown)

Sprawdź zrozumienie

Organizacja pozwala na autonomiczny merge, ale fabryka go wyłącza. Czy produkt pod tą fabryką może go włączyć?

Źródła i dalsza lektura

Powiązana lektura od Taiga