0Pricing
Ansible Academy · Lekcja

Rozgałęzianie na podstawie faktów o rodzinie systemu

Różne kroki dla Debiana i RedHata.

Rozgałęzianie na podstawie faktów o rodzinie systemu to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 2 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 Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Jeden playbook, wiele dystrybucji

Debian używa apt, a RedHat — dnf. Dzięki faktom i when jeden playbook dostosowuje się do każdego systemu operacyjnego. 🐧

Fakt os_family

Ansible gromadzi fakt ansible_os_family — ogólną etykietę, taką jak Debian lub RedHat, która grupuje powiązane dystrybucje.

when: ansible_facts["os_family"] == "Debian"

Rodzina a dystrybucja

os_family określa szeroką kategorię, natomiast ansible_distribution wskazuje konkretną dystrybucję. Ubuntu i Debian należą do rodziny Debian, ale są różnymi dystrybucjami.

Zadanie tylko dla Debiana

Ogranicz zadanie apt tak, aby uruchamiało się tylko w rodzinie Debian. Hosty RedHat po prostu je pominą.

- name: Install nginx (apt)
  ansible.builtin.apt:
    name: nginx
  when: ansible_os_family == "Debian"

Odpowiednik dla RedHat

Dodaj siostrzane zadanie dla rodziny RedHat. W ten sposób ten sam play obsługuje oba środowiska.

- name: Install nginx (dnf)
  ansible.builtin.dnf:
    name: nginx
  when: ansible_os_family == "RedHat"

Skrót package

W przypadku prostych instalacji ogólny moduł package automatycznie wybiera właściwe narzędzie, więc rozgałęzienie może nie być w ogóle potrzebne.

Wielkość liter w ciągach ma znaczenie

Nazwy rodzin muszą być zapisane dokładnie: jest to RedHat, a nie Redhat ani redhat. Błędna wielkość liter spowoduje po cichu pominięcie każdego hosta. ⚠️

Inne przydatne fakty systemu operacyjnego

Oprócz rodziny dostępne są także ansible_distribution_version oraz ansible_distribution_major_version, które pozwalają podejmować bardziej szczegółowe decyzje zależne od wersji.

when: ansible_distribution_major_version == "9"

Sprawdź przed rozgałęzieniem

Nie mają Państwo pewności co do wartości? Krótkie zadanie debug wypisze fakt, dzięki czemu można utworzyć dokładny potrzebny warunek.

- ansible.builtin.debug:
    var: ansible_os_family

Fakty muszą zostać zebrane

Rozgałęzianie na podstawie faktów systemu operacyjnego wymaga włączenia gather_facts. Jeśli ta opcja została wyłączona, zmienna os_family będzie niezdefiniowana.

Przenośne playbooki wygrywają

Jeden plik obsługujący każdą dystrybucję jest łatwiejszy w utrzymaniu niż osobne kopie dla każdego systemu operacyjnego. Fakty oraz when sprawiają, że automatyzacja jest przenośna. 🌍

Szybki test

Ustalmy, jak działa rozgałęzianie według systemu operacyjnego.

Podsumowanie

Używaj ansible_os_family w when, aby rozdzielić obsługę systemów Debian i RedHat. Pozostaw zbieranie faktów włączone i dopasuj dokładną nazwę. ✅

Często zadawane pytania

Czy lekcja „Rozgałęzianie na podstawie faktów o rodzinie systemu” jest bezpłatna?

Tak — pełny tekst „Rozgałęzianie na podstawie faktów o rodzinie systemu” 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 Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Rozgałęzianie na podstawie faktów o rodzinie systemu”?

Różne kroki dla Debiana i RedHata. Ćwiczysz Ansible Academy 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ąć Ansible Academy?

Nie wymagamy żadnego doświadczenia. Ansible Academy 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 2 z 4.

Ile czasu zajmuje lekcja „Rozgałęzianie na podstawie faktów o rodzinie systemu”?

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 Ansible Academy?

Tak. Każda lekcja Ansible Academy 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. Uruchamianie zadania tylko, gdy warunek jest True
  2. Rozgałęzianie na podstawie faktów o rodzinie systemu
  3. Łączenie warunków za pomocą and / or
  4. Rejestrowanie wyniku i podejmowanie decyzji
← Powrót do Ansible Academy