GitHub Actions
Czas trwania 4 dni (szkolenie online lub stacjonarne) |
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: 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 Terraform, ansible, 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 Integrację
- 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
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.