0Pricing
DevOps Bootcamp · Lekcja

Grupowanie zadań za pomocą block

Łączenie zadań w celu współdzielenia zachowania.

Grupowanie zadań za pomocą block to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.

Zadania, które tworzą całość

Niektóre zadania w naturalny sposób tworzą jedną całość. Słowo kluczowe block grupuje kilka zadań, aby mogły współdzielić ustawienia i zachowanie. 📦

Jak wygląda block

Block to lista zadań zagnieżdżonych pod jednym kluczem block. Są one wykonywane od góry do dołu, tak jak zwykłe zadania.

- name: Set up the app
  block:
    - name: Install package
      ansible.builtin.package:
        name: nginx
    - name: Start service
      ansible.builtin.service:
        name: nginx
        state: started

Wspólne dyrektywy ustawiane raz

Dyrektywy ustawione na blocku dotyczą każdego zadania w jego obrębie. Wystarczy raz ustawić become lub when zamiast powtarzać je przy każdym zadaniu.

- block:
    - ansible.builtin.package:
        name: nginx
    - ansible.builtin.service:
        name: nginx
        state: started
  become: true

Wspólny warunek when

Umieszczenie when na blocku powoduje, że Ansible stosuje go do wszystkich zadań podrzędnych. Cała grupa zostanie uruchomiona albo pominięta.

- block:
    - ansible.builtin.package:
        name: httpd
    - ansible.builtin.service:
        name: httpd
        state: started
  when: ansible_os_family == "RedHat"

Tagi na całym blocku

Tag przypisany do blocku oznacza każde zadanie w jego obrębie. Jedna etykieta pozwala uruchomić lub pominąć całą grupę za pomocą --tags.

- block:
    - ansible.builtin.package:
        name: nginx
  tags:
    - webserver

Blocki mogą mieć nazwy

Należy nadać blockowi nazwę, aby dane wyjściowe były czytelne. Nazwa pojawi się w dzienniku wykonania i będzie wskazywać zawarte w nim zadania.

- name: Configure web server
  block:
    - ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

Blocki nie są pętlami

Block grupuje zadania, ale ich nie powtarza. Aby wykonać block wiele razy, nadal trzeba zastosować pętlę do poszczególnych zadań w jego obrębie.

Dziedziczenie, nie nadpisywanie

Dyrektywy blocku są dziedziczone przez zadania. Zadanie nadal może ustawić własny warunek when, który zostanie połączony z warunkiem blocku operatorem logicznym and.

Zagnieżdżanie blocków

Blocki mogą zawierać inne blocki. Zagnieżdżanie pozwala precyzyjnie ograniczać zakres ustawień, ale warto zachować niewielką głębokość, aby playbook pozostał czytelny.

Prawdziwa siła: obsługa błędów

Grupowanie jest przydatne, ale blocki pokazują pełnię możliwości w połączeniu z rescue i always. Zamieniają grupę w jednostkę try i catch, o czym będzie mowa za chwilę. 🛟

Gdzie umieszcza się blocki

Block znajduje się na liście tasks play, dokładnie tam, gdzie znajdowałoby się pojedyncze zadanie. Wszędzie tam, gdzie dozwolone jest zadanie, dozwolony jest także block.

Szybkie sprawdzenie

Sprawdźmy, jak działa block.

Podsumowanie

Block grupuje zadania pod jednym kluczem, dzięki czemu współdzielą one dyrektywy takie jak become, when i tags, a także zyskują obsługę błędów. ✅

Często zadawane pytania

Czy lekcja „Grupowanie zadań za pomocą block” jest bezpłatna?

Tak — pełny tekst „Grupowanie zadań za pomocą block” 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 „Grupowanie zadań za pomocą block”?

Łączenie zadań w celu współdzielenia zachowania. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Grupowanie zadań za pomocą block”?

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. Grupowanie zadań za pomocą block
  2. Try / catch z rescue i always
  3. Kontrolowanie błędów: failed_when i ignore_errors
  4. Własne asercje za pomocą modułu fail
← Powrót do DevOps Bootcamp