DevOps z GitHub Actions, Jenkins, Terraform, AWS i Ansible
Czas szkolenia 5 dni (forma online lub u klienta) |
Prowadzący szkolenie: Piotr Kośka
Piotr Kośka to doświadczony inżynier infrastruktury i bezpieczeństwa z ponad dekadą praktyki w różnych dziedzinach technologii IT. Pracuje jako starszy inżynier bezpieczeństwa i infrastruktury w Huuuge Games, gdzie zarządzał zespołem i infrastrukturą chmurową AWS, środowiskiem CI/CD, a także narzędziami automatyzacji takimi jak Ansible, Salt, Terraform i OpenTofu. Pracował również dla HamsaPay, 3Shape Poland, Anixe – Jako Architekt architektury chmurowej oraz operator środowisk CI/CD takich jak github actions, Jenkins, Team City.
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektach informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash, Python. Jego bogate doświadczenie obejmuje pracę z wieloma systemami Linux, takimi jak Ubuntu, Debian, CentOS i CoreOS, a także administrację serwerem Jenkins i zarządzanie kontenerami Docker i LXC/LXD, Kubernetes.
Program szkolenia
Dzień 1: Podstawy GitHub Actions
- Wprowadzenie do GitHub Actions
- Architektura GitHub Actions: Omówienie budowy, komponentów i działania GitHub Actions.
- Kluczowe Pojęcia: Wyjaśnienie takich terminów jak workflow, job, step, action.
- Przykłady Zastosowań: Przegląd popularnych przypadków użycia w projektach programistycznych.
- Praktyczne Warsztaty
- Tworzenie Workflow: Ćwiczenia z tworzenia pierwszego workflow od podstaw.
- Definiowanie Kroków i Zadań: Nauka konfiguracji kroków i zadań w pliku YAML.
- Uruchamianie i Monitorowanie Workflow: Metody uruchamiania workflow oraz monitorowania ich przebiegu i wyników.
- Wykorzystanie Gotowych Akcji
- Przegląd Akcji w GitHub Marketplace: Jak wyszukiwać i wybierać odpowiednie akcje z marketplace.
- Integracja Gotowych Akcji: Praktyczne przykłady integracji akcji do istniejących workflow.
- Najczęściej Używane Akcje: Przegląd najpopularniejszych akcji i ich zastosowania.
- Triggery i Zmienne
- Konfiguracja Wyzwalaczy: Ustawianie wyzwalaczy dla różnych zdarzeń (np. push, pull request).
- Używanie Zmiennych: Praca z zmiennymi w workflow, ich definiowanie i użycie.
- Wyrażenia Warunkowe: Tworzenie i użycie warunków w workflow, przykłady praktyczne.
- Bezpieczeństwo GitHub Actions
- Zarządzanie Tajnymi Zmiennymi: Jak bezpiecznie przechowywać i używać tajnych zmiennych w workflow.
- Praktyki Zabezpieczania Dostępów: Rekomendacje dotyczące zabezpieczania dostępu do infrastruktury i danych.
- Użycie GitHub Secrets: Praktyczne zastosowanie GitHub Secrets do zarządzania poufnymi informacjami.
Dzień 2: Zaawansowane Techniki Buildów
- Zarządzanie Agentami
- Typy Agentów: Różnice między self-hosted a GitHub-hosted agentami, ich wady i zalety.
- Konfiguracja Agentów: Jak skonfigurować agentów, aby były optymalnie wykorzystane.
- Optymalizacja Agentów: Techniki zwiększania wydajności i niezawodności agentów.
- Zaawansowane Buildy
- Tworzenie Złożonych Procesów Buildów: Jak budować bardziej skomplikowane workflow, łącząc różne narzędzia i technologie.
- Integracja z Narzędziami: Łączenie GitHub Actions z narzędziami do budowania i testowania aplikacji.
- Przykłady Konfiguracji: Case study z praktycznymi przykładami zaawansowanych konfiguracji.
- Reużywanie Kodu
- Techniki Ponownego Używania Kodu: Jak tworzyć modularne i reużywalne komponenty workflow.
- Tworzenie Szablonów i Bibliotek: Budowanie szablonów i bibliotek zadań do ponownego użycia.
- Zarządzanie Zależnościami: Efektywne zarządzanie zależnościami między zadaniami w workflow.
Dzień 3: Bezpieczeństwo i Zarządzanie Artefaktami
- Praca z Artefaktami
- Tworzenie i Przechowywanie Artefaktów: Jak tworzyć i przechowywać artefakty w GitHub Actions.
- Integracja z GitHub Packages: Jak używać GitHub Packages do zarządzania pakietami i artefaktami.
- Przykłady Zarządzania Artefaktami: Case study z praktycznymi przykładami.
- Tworzenie Własnych Akcji
- Pisanie Niestandardowych Akcji: Jak pisać własne akcje w JavaScript lub Docker.
- Testowanie i Debugowanie: Techniki testowania i debugowania własnych akcji.
- Publikowanie Akcji: Jak publikować własne akcje w GitHub Marketplace.
Dzień 4: Jenkins i CI/CD
- Konfiguracja serwera Jenkins
- Instalacja i konfiguracja Jenkins
- Podłączanie agentów Jenkins
- Sposoby podłączania agentów i konfiguracja globalnych narzędzi (Git, Maven itp.).
- Tworzenie projektów typu Freestyle oraz Matrix
- Konfiguracja i zarządzanie projektami Jenkins.
- Tworzenie pipeline’ów za pomocą kodu
- Pisanie i konfigurowanie pipeline’ów Jenkins.
- Integracja Jenkins z Ansible i Docker
- Praktyczne zastosowanie Ansible i Docker w Jenkins.
- Użycie Terraform w Jenkins
- Automatyzacja zadań przy użyciu Terraform i Jenkins.
- Zarządzanie zadaniami w Jenkins
- Tworzenie, konfiguracja, monitorowanie i zarządzanie zadaniami.
- Backup, przywracanie, aktualizacje i rozwiązywanie problemów
- Strategie tworzenia kopii zapasowych, zarządzanie aktualizacjami, techniki rozwiązywania problemów.
- Strategie tworzenia kopii zapasowych, zarządzanie aktualizacjami, techniki rozwiązywania problemów.
Dzień 5: Terraform, AWS, DigitalOcean i Ansible
- Wprowadzenie do Terraform
- Sposoby podłączania agentów i konfiguracja globalnych narzędzi (Git, Maven itp.).
- Tworzenie i zarządzanie infrastrukturą z Terraform
- Praktyczne ćwiczenia z użyciem Terraform.
- Integracja z AWS i DigitalOcean
- Deploy aplikacji do AWS i DigitalOcean przy użyciu Terraform.
- Użycie Ansible do zarządzania konfiguracją
- Automatyzacja konfiguracji serwerów z Ansible.
- Scalanie narzędzi: Jenkins, Terraform, Ansible w workflow DevOps
- Łączenie wszystkich narzędzi w jedną spójną strategię DevOps.
- Podsumowanie szkolenia
- Omówienie kluczowych punktów szkolenia, sesja Q&A.
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!
Szkolenie „DevOps z GitHub Actions, Jenkins, Terraform, AWS i Ansible” to intensywny i wszechstronny kurs, który kompleksowo wprowadza uczestników w zaawansowane techniki automatyzacji oraz zarządzania infrastrukturą IT. Przez pięć dni intensywnych zajęć, uczestnicy zdobędą dogłębną wiedzę i praktyczne umiejętności, które pozwolą im skutecznie integrować różnorodne narzędzia DevOps w spójne procesy CI/CD.
Uczestnicy nauczą się, jak efektywnie wykorzystać GitHub Actions do tworzenia i zarządzania workflow oraz automatyzacji procesów CI/CD. Poznają architekturę GitHub Actions, kluczowe pojęcia takie jak workflow, job, step i action, a także nauczą się konfigurować poszczególne kroki i zadania w pliku YAML. Kurs obejmuje również praktyczne ćwiczenia związane z tworzeniem workflow, uruchamianiem i monitorowaniem ich przebiegu, a także integracją gotowych akcji dostępnych w GitHub Marketplace. Uczestnicy dowiedzą się, jak konfigurować wyzwalacze dla różnych zdarzeń, używać zmiennych oraz tworzyć i stosować wyrażenia warunkowe w swoich workflow.
Szkolenie obejmuje również zaawansowane techniki budowania i integracji kodu. Uczestnicy nauczą się zarządzać agentami, zarówno self-hosted, jak i GitHub-hosted, a także optymalizować ich wydajność i niezawodność. Dowiedzą się, jak tworzyć złożone procesy buildów, integrując różnorodne narzędzia i technologie, oraz jak efektywnie zarządzać kodem poprzez techniki ponownego używania, tworzenie szablonów i bibliotek zadań oraz zarządzanie zależnościami.
Bezpieczeństwo jest kluczowym elementem kursu. Uczestnicy poznają najlepsze praktyki zarządzania tajnymi zmiennymi, zabezpieczania dostępu do infrastruktury i danych oraz użycia GitHub Secrets. Dowiedzą się również, jak tworzyć i przechowywać artefakty w GitHub Actions, integrować się z GitHub Packages oraz pisać, testować i publikować własne niestandardowe akcje w GitHub Marketplace.
Kurs obejmuje także pełne szkolenie z Jenkins, gdzie uczestnicy nauczą się instalacji, konfiguracji oraz zarządzania projektami typu Freestyle i Matrix. Nauczą się pisać i konfigurować pipeline’y w Jenkins, integrować Jenkins z Ansible i Docker, a także automatyzować zadania przy użyciu Terraform i Jenkins. Dodatkowo, kurs obejmuje zarządzanie zadaniami w Jenkins, strategie tworzenia kopii zapasowych, aktualizacje oraz techniki rozwiązywania problemów.
W zakresie Terraform, AWS i DigitalOcean, uczestnicy nauczą się tworzenia i zarządzania infrastrukturą jako kod. Praktyczne ćwiczenia obejmują deploy aplikacji do AWS i DigitalOcean oraz automatyzację konfiguracji serwerów za pomocą Ansible. Szkolenie kończy się integracją wszystkich narzędzi w spójną strategię DevOps, co zapewnia uczestnikom pełne zrozumienie i umiejętność zarządzania procesami CI/CD w praktyce.
Dla kogo jest ten kurs?
Kurs jest dedykowany dla osób, które dopiero rozpoczynają swoją podróż w tematyce DevOps. Dzięki kompleksowemu podejściu i licznym ćwiczeniom praktycznym, uczestnicy zdobędą solidne podstawy teoretyczne i praktyczne, które pozwolą im z pewnością siebie pracować z narzędziami DevOps. Kurs jest zaprojektowany tak, aby krok po kroku wprowadzać uczestników w zagadnienia związane z automatyzacją i zarządzaniem infrastrukturą, co czyni go idealnym wyborem dla początkujących w tej dziedzinie.