Generator GitHub Actions
Złóż plik workflow ciągłej integracji dla repozytorium
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator GitHub Actions — workflow CI w jednym pliku YAML
Generator GitHub Actions składa plik workflow ciągłej integracji dla repozytorium na GitHubie. Ustaw nazwę biegu, gałęzie, wersje PHP i Node oraz zaznacz kroki, a dostaniesz gotowy YAML do katalogu .github/workflows — z pobraniem kodu, konfiguracją środowisk, cache zależności i uruchomieniem testów.
Z czego składa się workflow
Plik workflow opisuje, kiedy i co ma się wykonać po stronie GitHuba. Cztery bloki tworzą jego szkielet:
| Klucz | Rola | Co wstawia generator |
|---|---|---|
name | etykieta biegu w zakładce Actions | nazwa z formularza |
on | wyzwalacze uruchomienia | push, pull_request na wybranych gałęziach oraz workflow_dispatch |
jobs | zadania i ich maszyna | jeden job build na runs-on: ubuntu-latest |
steps | kolejne kroki jobu | checkout, setup, cache, instalacja, testy, lint |
Pierwszym krokiem jest zawsze actions/checkout@v4 — bez pobrania repozytorium żaden kolejny krok nie ma dostępu do kodu. Dalej generator dokłada tylko to, co zaznaczysz.
Jak zbudować i uruchomić workflow
- Wpisz nazwę workflow i gałęzie oddzielone przecinkiem — trafią do bloku
onprzypushipull_request. - Podaj wersję PHP (dostaniesz krok
shivammathur/setup-php@v2) i/lub wersję Node (actions/setup-node@v4z cache npm). Puste pole pomija dany ekosystem. - Zaznacz instalację Composera, npm, uruchamianie testów i lintu. Przycisk Przykład ustawia typowy zestaw dla projektu Laravel + front.
- Skopiuj wynik i zapisz jako
.github/workflows/ci.ymlw katalogu głównym repozytorium. - Zrób commit i push — GitHub uruchomi bieg od razu, a wynik zobaczysz w zakładce Actions. Możesz też odpalić go ręcznie dzięki
workflow_dispatch.
Wyzwalacze: kiedy workflow rusza
Blok on decyduje, co uruchamia bieg. Generator wstawia push i pull_request ograniczone do wybranych gałęzi, dzięki czemu testy chodzą przy każdym wypchnięciu i przy każdym pull requeście przed scaleniem. Dokłada też workflow_dispatch — przycisk „Run workflow” w interfejsie GitHuba do biegu na żądanie. GitHub zna jeszcze schedule (cykliczne biegi w składni cron), przydatny do nocnych testów lub odświeżania zależności; ten wpis dodasz ręcznie w wygenerowanym pliku.
Cache zależności skraca bieg
Instalacja pakietów potrafi zająć większość czasu biegu. Krok actions/setup-node@v4 z opcją cache: npm odtwarza katalog npm sam. Dla Composera generator dokłada osobny actions/cache@v4 z kluczem opartym o hash composer.lock — dopóki zależności się nie zmienią, GitHub przywraca je z pamięci zamiast pobierać od nowa. To ta sama idea, którą opisujemy w generatorze GitLab CI, tylko w składni GitHuba.
Sekrety zamiast haseł w pliku
${{ secrets.NAZWA }}. GitHub podstawia je w locie i maskuje w logach.Generator celowo nie umieszcza żadnych sekretów w wyniku. Kroki testów i instalacji korzystają wyłącznie z jawnych komend, a miejsca na tokeny (np. do wdrożenia albo publikacji paczki) dopisujesz sam, sięgając po kontekst secrets.
GitHub Actions a inne systemy CI
Workflow GitHub Actions żyje w repozytorium i rusza z wewnętrznych zdarzeń GitHuba. Jeśli hostujesz kod gdzie indziej, przyda się generator Jenkinsfile dla Jenkinsa albo konfiguracja dla GitLaba. Sam projekt często potrzebuje też obrazu do budowania — pomoże generator Dockerfile. Zanim wrzucisz plik do repozytorium, warto przepuścić go przez walidator YAML, bo w tym formacie jedna spacja wcięcia zmienia strukturę.
Najczęściej zadawane pytania
Gdzie zapisać wygenerowany plik?
W katalogu .github/workflows/ w korzeniu repozytorium, z rozszerzeniem .yml lub .yaml. Nazwa pliku jest dowolna — GitHub uruchamia każdy workflow znaleziony w tym katalogu. Etykieta z bloku name to osobna rzecz: pokazuje się w zakładce Actions, ale nie musi zgadzać się z nazwą pliku.
Dlaczego wszystkie akcje mają @v4?
Przypięcie do majora, np. actions/checkout@v4, mówi GitHubowi, żeby brał najnowsze wydanie z tej gałęzi. Stare @v2 bywa wycofane i wypisuje ostrzeżenie o przestarzałym Node w runnerze. Wyjątkiem jest shivammathur/setup-php@v2 — to akcja społecznościowa, której bieżącym majorem wciąż jest v2, więc taki zapis jest poprawny.
Jak bezpiecznie użyć tokenu albo hasła?
Dodaj wartość w ustawieniach repozytorium (Settings → Secrets and variables → Actions) i odwołaj się do niej w kroku przez ${{ secrets.NAZWA }}. Sekret nie pojawia się w kodzie ani w logach — GitHub maskuje go automatycznie. Do wdrożeń z forka używaj środowisk z regułą ochrony, bo pull request z obcego repozytorium domyślnie nie dostaje sekretów.
Czy GitHub Actions jest darmowe?
Repozytoria publiczne mają darmowe minuty na standardowych runnerach GitHuba. Repozytoria prywatne dostają miesięczny limit zależny od planu, a po jego przekroczeniu bieg jest płatny według zużytych minut. Runnery Linux liczą się najtaniej, Windows i macOS z mnożnikiem.
Jak dodać macierz wersji, żeby testować na kilku PHP naraz?
W jobie dopisz strategy.matrix z listą wersji, na przykład php: ['8.2', '8.3', '8.4'], i w kroku setup podstaw php-version: ${{ matrix.php }}. GitHub uruchomi wtedy job osobno dla każdej wartości. Ten generator tworzy pojedynczy job build; macierz dopisujesz w wygenerowanym pliku.