GitHub Actions
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: Wyjaśnienie, jak GitHub Actions jest zbudowany, jego komponenty i sposób działania.
- Kluczowe Pojęcia: Definicje takich terminów jak workflow, job, step, action.
- Przykłady Zastosowań: Przegląd popularnych przypadków użycia w rzeczywistych projektach programistycznych.
Praktyczne Warsztaty
- Tworzenie Workflow: Praktyczne ćwiczenia polegające na stworzeniu pierwszego workflow od podstaw.
- Definiowanie Kroków i Zadań: Nauka, jak konfigurować poszczególne kroki i zadania 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: Jak ustawiać wyzwalacze 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.
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
Bezpieczeństwo Haseł i Dostępów
- Zarządzanie Tajnymi Zmiennymi: Jak bezpiecznie przechowywać i używać tajne zmienne 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.
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: Zaawansowane Workflow i Integracje
Reużywalne Workflow
- Tworzenie Reużywalnych Workflow: Jak tworzyć workflow, które mogą być używane wielokrotnie w różnych projektach.
- Zarządzanie Wspólnymi Elementami: Jak efektywnie zarządzać wspólnymi elementami workflow między różnymi projektami.
- Przykłady Użycia: Studia przypadków pokazujące, jak firmy korzystają z reużywalnych workflow.
Integracja z Cloud, przykłady z Azure, AWS, DigitalOcean
- Konfiguracja Integracji z Azure: Krok po kroku konfiguracja integracji GitHub Actions z usługami Azure.
- Uruchomienie przykładowych zasobów za pomoca terraform
- Konfiguracja integracja z AWS
- Uruchomienie przykładowych zasobów w AWS.
- Praktyczne Przykłady: Przykłady wdrożeń aplikacji na Azure, AWS, DigitalOcean za pomocą GitHub Actions.
Zarządzanie Konfiguracją Środowisk
- Konfiguracja Środowisk: Jak konfigurować różne środowiska (np. deweloperskie, staging, produkcyjne).
- Praktyki Zarządzania Ustawieniami: Najlepsze praktyki zarządzania ustawieniami i konfiguracjami dla różnych środowisk.
- Przykłady Deploymentu: Studia przypadków z przykładami deploymentu aplikacji do różnych środowisk.
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Kompleksowe szkolenie z zakresu GitHub Actions, obejmujące architekturę, kluczowe pojęcia i przykłady zastosowań. Praktyczne warsztaty tworzenia pierwszych workflow, definiowania kroków i zadań, a także integracji gotowych akcji. Omówienie konfiguracji wyzwalaczy oraz pracy ze zmiennymi i wyrażeniami warunkowymi.
Zarządzanie agentami: różnice między self-hosted a GitHub-hosted agentami, ich konfiguracja i optymalizacja. Tworzenie złożonych procesów buildów, integracja z narzędziami oraz techniki ponownego używania kodu poprzez szablony i biblioteki zadań.
Bezpieczeństwo haseł i dostępów: zarządzanie tajnymi zmiennymi, zabezpieczanie dostępu do infrastruktury oraz użycie GitHub Secrets. Praca z artefaktami, integracja z GitHub Packages oraz warsztaty z pisania niestandardowych akcji, ich testowania, debugowania i publikowania w GitHub Marketplace.
Tworzenie reużywalnych workflow i startowych szablonów, zarządzanie wspólnymi elementami między projektami oraz przykłady zastosowań. Konfiguracja integracji z Azure, użycie OpenID Connect oraz zarządzanie konfiguracją wielu środowisk (dev, staging, production). Studia przypadków wdrożeń aplikacji na Azure za pomocą GitHub Actions.
Szkolenie oferuje kompleksowe podejście do GitHub Actions, łącząc teorię z praktycznymi ćwiczeniami, co pozwala uczestnikom na natychmiastowe zastosowanie zdobytej wiedzy w rzeczywistych projektach.
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.