0Pricing
DevOps Bootcamp · Lekcja

Wagi i kolejność hooków

Deterministyczne ustalanie kolejności wielu hooków.

Wagi i kolejność hooków to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Kolejność ma znaczenie

Gdy kilka hooków korzysta z tego samego zdarzenia, kolejność może mieć znaczenie. Na przykład sekret musi czasem istnieć, zanim uruchomi się migracja. Helm ustala kolejność hooków za pomocą wagi.

Adnotacja wagi

Kolejność ustawia się za pomocą adnotacji helm.sh/hook-weight. Jej wartość jest ciągiem znaków zawierającym liczbę, której Helm używa do sortowania hooków należących do tego samego zdarzenia.

"helm.sh/hook-weight": "5"

Najpierw wykonywane są hooki o niższej wadze

Helm sortuje wagi w kolejności rosnącej, dlatego najpierw wykonywany jest hook o najniższej wartości. Hook o wadze -5 uruchamia się przed hookiem o wadze 0, a ten przed hookiem o wadze 10.

Dozwolone są wartości ujemne

Wagi mogą być ujemne. Hookowi konfiguracji należy nadać wartość taką jak minus pięć, jeśli ma zostać uruchomiony przed wszystkimi hookami korzystającymi z domyślnej wagi równej zero.

"helm.sh/hook-weight": "-5"

Ujmij liczbę w cudzysłowy

Wartość wagi musi być ciągiem znaków ujętym w cudzysłowy, mimo że reprezentuje liczbę. Należy zapisać "10" w cudzysłowie, a nie samo 10, ponieważ w przeciwnym razie adnotacja będzie nieprawidłowa.

annotations:
  "helm.sh/hook-weight": "10"

Wartość domyślna to zero

Hook bez adnotacji wagi jest traktowany jak hook o wadze zero. Dzięki temu zero stanowi wygodny punkt odniesienia, przed którym lub za którym można zaplanować inne hooki.

Najpierw grupowane są zdarzenia

Wagi sortują hooki tylko w obrębie tego samego zdarzenia. Hook pre-install nigdy nie przeplata się z hookiem post-install: najpierw wykonywane są wszystkie hooki pre-install, a dopiero potem następują zdarzenia późniejsze.

Remisy rozstrzyga nazwa

Jeśli dwa hooki mają tę samą wagę, Helm sortuje je następnie alfabetycznie według nazwy zasobu. Gdy kolejność naprawdę ma znaczenie, lepiej użyć różnych wag.

Hooki o każdej wadze muszą się zakończyć

Helm uruchamia hooki według wagi i czeka, aż każdy będzie gotowy, zanim przejdzie do następnego. Hook konfiguracji kończy się więc w całości, zanim rozpocznie się przygotowywana przez niego migracja. ⏳

Praktyczna para

Wyobraźmy sobie hook tworzący sekret z wagą -5 oraz hook migracji z wagą 0. Helm gwarantuje, że sekret zostanie utworzony pierwszy, dzięki czemu migracja będzie mogła go odczytać.

# secret hook
"helm.sh/hook-weight": "-5"
# migration hook
"helm.sh/hook-weight": "0"

Zostawiaj odstępy między wagami

Wartości wag należy rozdzielać odstępami, na przykład 10, 20, 30 zamiast 1, 2, 3. Później można wtedy wstawić nowy hook pomiędzy istniejące bez zmiany numeracji pozostałych. 📐

Szybkie sprawdzenie

Dwa hooki pre-install mają wagi -5 i 10. Należy ustalić, który z nich zostanie uruchomiony pierwszy.

Podsumowanie

Adnotacja hook-weight, będąca liczbą ujętą w cudzysłowy, porządkuje hooki należące do jednego zdarzenia — od najniższej do najwyższej wartości. Wartość domyślna to zero, a remisy rozstrzyga nazwa. 🔢

Często zadawane pytania

Czy lekcja „Wagi i kolejność hooków” jest bezpłatna?

Tak — pełny tekst „Wagi i kolejność hooków” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Wagi i kolejność hooków”?

Deterministyczne ustalanie kolejności wielu hooków. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wagi i kolejność hooków”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym są hooki i kiedy się uruchamiają
  2. Job migracji bazy danych pre-upgrade
  3. Wagi i kolejność hooków
  4. Zasady usuwania hooków
← Powrót do DevOps Bootcamp