Szkolenie dla COMARCH
  • Jinja 62.9%
  • Python 18.4%
  • Shell 9.6%
  • Ruby 5.2%
  • HTML 3.3%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Adam Jurkiewicz (Pythonista) a142b1e73b dzien_01 - ćwiczenia i rozwiązania
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 21:42:32 +02:00
dzien_01 dzien_01 - ćwiczenia i rozwiązania 2026-08-27 21:42:32 +02:00
dzien_02 nowe dni 2026-08-27 15:58:02 +02:00
dzien_03 kolejne dni 2026-08-27 16:03:49 +02:00
dzien_04 dzien_04 - pptx 2026-08-27 16:41:18 +02:00
.gitignore Initial commit 2026-08-27 12:51:18 +02:00
LICENSE Initial commit 2026-08-27 12:51:18 +02:00
README.md nowe dni 2026-08-27 15:58:02 +02:00

politechnika-bydgoska-ansible

Szkolenie dla COMARCH, podział na 4 dni w katalogach

Zakładam, że każdy uczestnik będzie miał VM dla zarządzania i 2 VM jako klient.


plan wstępny (Przygotował GenAI, więc nie trzymamy się dokładnie):

Plan szkolenia: Ansible (4 dni × ~7h)

Poniżej propozycja rozłożenia materiału na 4 dni, z uwzględnieniem przerw, części teoretycznej i ćwiczeń praktycznych (zakładam proporcję ok. 40% teoria / 60% praktyka, co sprawdza się dobrze przy szkoleniach z automatyzacji).

Dzień 1 Podstawy i pierwsze kroki (7h)

Blok 1 (2h): Wprowadzenie do automatyzacji i Ansible

  • Czym jest automatyzacja IT, po co ona nam, IaC (Infrastructure as Code)
  • Ansible na tle innych narzędzi (Puppet, Chef, Salt, Terraform)
  • Architektura Ansible: agentless, SSH, moduły, inventory
  • Instalacja Ansible, konfiguracja środowiska (ansible.cfg)
  • Ćwiczenie: instalacja i pierwsze ansible --version, ansible-doc

Przerwa (15 min)

Blok 2 (2h): Proste przykłady wykorzystania Ansible

  • Inventory (statyczny plik, grupy, zmienne w inventory)
  • Ad-hoc commands: ansible all -m ping, -m command, -m shell, -m copy
  • Ćwiczenie: konfiguracja lab (kilka maszyn/kontenerów), pierwsze polecenia ad-hoc

Przerwa na lunch (45 min)

Blok 3 (2,5h): Podstawy składni YAML

  • Struktura YAML: listy, słowniki, zagnieżdżenia
  • Typowe błędy składniowe (wcięcia, spacje vs taby)
  • Walidacja YAML (yamllint, ansible-lint wstęp)
  • Ćwiczenia praktyczne z pisania plików YAML

Podsumowanie dnia (15 min): pytania, powtórka


Dzień 2 Playbooki i zmienne (7h)

Blok 1 (2,5h): Playbooki i ich elementy

  • Struktura playbooka: play, hosts, tasks, moduły
  • become, gather_facts, vars, handlers
  • Uruchamianie playbooków: ansible-playbook, opcje (--check, --diff, -v)
  • Ćwiczenie: pierwszy playbook (instalacja pakietu, uruchomienie usługi)

Przerwa (15 min)

Blok 2 (2h): Zmienne i fakty w Ansible

  • Rodzaje zmiennych i priorytety (precedence)
  • group_vars, host_vars
  • Fakty (ansible_facts), gather_facts, moduł setup
  • Rejestrowanie wyników (register), zmienne z set_fact

Przerwa na lunch (45 min)

Blok 3 (2h): Ćwiczenia praktyczne

  • Warsztat: playbook wykorzystujący zmienne z różnych źródeł + fakty
  • Debugowanie zmiennych (debug, ansible-inventory --list)

Podsumowanie dnia (15 min)


Dzień 3 Zadania, błędy, konfiguracja (7h)

Blok 1 (2,5h): Zarządzanie zadaniami i obsługa błędów

  • Warunki (when), pętle (loop, with_items)
  • Tagi (tags), kolejność wykonania, block/rescue/always
  • Obsługa błędów: ignore_errors, failed_when, changed_when
  • Ćwiczenie: playbook z warunkami, pętlami i obsługą błędów

Przerwa (15 min)

Blok 2 (2h): Zarządzanie plikami konfiguracyjnymi

  • Moduły template, copy, lineinfile, blockinfile
  • Jinja2 podstawy szablonów (zmienne, filtry, warunki w szablonach)
  • Handlery i notify przy zmianie konfiguracji

Przerwa na lunch (45 min)

Blok 3 (2h): Warsztat praktyczny

  • Case study: konfiguracja usługi (np. nginx/apache) z użyciem szablonów Jinja2 i handlerów
  • Restart usługi tylko przy zmianie konfiguracji

Podsumowanie dnia (15 min)


Dzień 4 Role i ekosystem Ansible (7h)

Blok 1 (2,5h): Role w projektach Ansible

  • Struktura roli (tasks, handlers, templates, defaults, vars, meta)
  • Tworzenie roli ręcznie i przez ansible-galaxy init
  • Włączanie ról do playbooka (roles:, include_role, import_role)
  • Ćwiczenie: refaktoryzacja wcześniejszego playbooka do postaci roli

Przerwa (15 min)

Blok 2 (2h): Ansible Galaxy i projekt AWX

  • Ansible Galaxy: wyszukiwanie, instalacja i wersjonowanie ról/kolekcji
  • requirements.yml, ansible-galaxy collection install
  • Wprowadzenie do AWX/Ansible Automation Platform: architektura, różnice względem Ansible CLI
  • Podstawowe koncepcje AWX: projekty, inventory, job templates, harmonogramy, RBAC

Przerwa na lunch (45 min)

Blok 3 (1,5h): Podsumowanie i projekt końcowy

  • Warsztat końcowy: kompletny mini-projekt łączący role, zmienne, szablony i obsługę błędów
  • Dobre praktyki (struktura repozytorium, ansible-lint, wersjonowanie)
  • Q&A, podsumowanie szkolenia, wskazówki do dalszej nauki (dokumentacja, certyfikacje)

Uwagi organizacyjne

  • Każdy dzień zakłada ok. 5,56h "czystego" materiału + przerwy (ok. 1h łącznie dziennie: krótkie przerwy + lunch).
  • Warto przygotować środowisko lab (np. kontenery Docker lub maszyny wirtualne) dostępne od Dnia 1, żeby nie tracić czasu na Dzień 2+ na konfigurację.
  • Jeśli grupa jest mniej zaawansowana technicznie, dzień 1 i 3 mogą wymagać wydłużenia kosztem skrócenia warsztatu końcowego w dniu 4.