DevOps z GitHub Actions, Jenkins, Terraform, AWS i Ansible
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
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.
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.
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. Aktualnie pracuje jako starszy inżynier bezpieczeństwa i infrastruktury w Huuuge Games, gdzie lideruje zespół i zarządza infrastrukturą chmurową AWS, środowiskiem CI/CD, a także narzędziami automatyzacji takimi jak Ansible, Salt, Terraform i OpenTofu.
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektych informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash. 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.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii DevOps
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektych informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash. 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.