Szkolenie CI/CD z GitHub Actions
Zbudujesz szybki i bezpieczny pipeline, który testuje każdy pull request i wdraża projekt po scaleniu.
Zapytaj o termin Pobierz program (PDF)Prawie każdy projekt ma dziś pipeline, ale rzadko ktoś w zespole wie, jak działa. Testy trwają 20 minut, co któryś przebieg pada bez powodu, a sekrety leżą w miejscach, w których nie powinny. Plik workflow poprawia się metodą prób i błędów.
Na szkoleniu budujesz od zera pipeline dla aplikacji webowej: od testów przy każdym pull requeście, przez cache i równoległe zadania, po wdrożenie i ochronę gałęzi. Dostajesz wzorce, które przeniesiesz do swojego repozytorium tego samego dnia.
Program
2 dni
- Podstawy GitHub Actions
- Workflow, job, step i runner
- Zdarzenia:
push,pull_request,schedule,workflow_dispatch - Runnery GitHuba (także arm64) i self-hosted: koszty i bezpieczeństwo
- Co zależy od planu w repozytoriach prywatnych: rulesets, środowiska z akceptacją, merge queue i CodeQL
- Pipeline dla aplikacji webowej
- Instalacja zależności, lint, testy, build
- Wersja Node.js z pliku
.nvmrc - Artefakty i raporty z testów
- Wdrożenie na GitHub Pages jako pierwszy, najprostszy cel
- Szybkość
- Cache zależności i przeglądarek do testów
- Macierz wersji i równoległe zadania
concurrency: anulowanie nieaktualnych przebiegów- Limity czasu, które ratują przed wiszącymi zadaniami
- Bezpieczeństwo
- Minimalne uprawnienia tokena (
permissions) - Sekrety i zmienne środowiskowe
- Akcje z Marketplace: przypinanie do pełnego SHA i polityka
dozwolonych akcji (lekcje z ataków na
tj-actionsitrivy-action) pull_request_targeti wstrzykiwanie poleceń przez wyrażenia w krokachrun- Aktualizacje zależności z Dependabotem i skanowanie kodu z CodeQL
- Minimalne uprawnienia tokena (
- Ochrona gałęzi
- Rulesets i wymagane sprawdzenia (status checks) dla
main - Merge queue: scalanie dopiero po zielonym pipeline
- Rulesets i wymagane sprawdzenia (status checks) dla
- Wdrożenia
- Środowiska z akceptacją przed wdrożeniem na produkcję
- OIDC: wdrożenie do chmury bez kluczy w sekretach (ćwiczenie na jednej chmurze: AWS, Azure albo Google Cloud)
- Budowanie obrazu Dockera, cache warstw i publikacja w rejestrze
- Utrzymanie
- Workflow wielokrotnego użytku i własne akcje złożone (composite)
- Kotwice YAML: mniej powtórzeń w jednym pliku
- Debugowanie nieudanego przebiegu
ghw terminalu: logi, ponowne uruchomienie, status
Jak napisać Dockerfile, który dobrze się cache’uje, pokazuję na szkoleniu
Docker.
Dla kogo?
- Dla zespołów, w których pipeline „po prostu jest” i nikt go nie rozumie.
- Dla programistów, którzy przenoszą projekt na GitHub Actions z innego CI.
- Dla osób odpowiedzialnych za jakość i wdrożenia w zespole.
Co musisz umieć?
- Pracować z Gitem i GitHubem: gałęzie, pull requesty.
- Uruchomić testy i build projektu z linii poleceń.
- Znać podstawy składni YAML: listy, mapy, wcięcia.
- Mieć dostęp do konta w AWS, Azure albo Google Cloud z prawem do tworzenia ról.
- Mieć konto na GitHubie i organizację (wystarczy darmowa), w której założysz publiczne repozytorium do ćwiczeń z merge queue. W prywatnym repozytorium merge queue wymaga planu Enterprise Cloud.
Czego się nauczysz?
- Napiszesz workflow, który testuje każdy pull request.
- Skrócisz czas pipeline’u dzięki cache i równoległym zadaniom.
- Zabezpieczysz sekrety, ograniczysz uprawnienia tokena i przypniesz akcje do SHA.
- Rozpoznasz workflow podatny na atak z forka i go naprawisz.
- Skonfigurujesz ruleset z wymaganymi sprawdzeniami i, jeśli pozwala na to plan, merge queue.
- Wdrożysz aplikację do chmury przez OIDC, bez długowiecznych kluczy.
- Zautomatyzujesz wdrożenie po scaleniu zmian.
- Wydzielisz powtarzalne kroki do workflow wielokrotnego użytku.
Trener
Piotr Kowalski
W branży IT od 2008 roku. Od 2014 jest mentorem dla wielu developerów. Jako trener spędził na sali szkoleniowej kilka tysięcy godzin, a na LinkedIn ma 52 rekomendacje. Każde jego szkolenie to dawka solidnej wiedzy oraz humoru.
Zorganizujmy to szkolenie w Twoim zespole
Napisz, z czym pracujecie i na jakim poziomie jest grupa. Odpowiem z propozycją programu dopasowanego do Waszego projektu.
Zapytaj o szkolenie Pobierz program (PDF) Zobacz wszystkie szkolenia