Generator workflow GitHub Actions

Dalej

Świeże repozytorium GitHub bez CI dzieli od kolejnego zepsutego wdrożenia jedno git push. Ten generator zapisuje startowy .github/workflows/ci.yml dla Node, PHP lub Laravela, łącząc checkout, właściwą akcję środowiska uruchomieniowego, instalację zależności i standardowe polecenie testów, wszystko, czego potrzeba, by zapalić zieloną/czerwoną kropkę.

Jak wygenerować workflow

  1. 1

    Wybierz stos

    Node (używa `actions/setup-node`), PHP (używa `shivammathur/setup-php`) lub Laravel (PHP + `php artisan test`).

  2. 2

    Ustaw główną gałąź

    `main` to domyślna; nadpisz, jeśli Twoje repo wciąż używa `master` lub własnej nazwy.

  3. 3

    Wygeneruj

    Narzędzie składa plik YAML z wyzwalaczami `push` i `pull_request` na tej gałęzi.

  4. 4

    Zatwierdź do .github/workflows/

    Utwórz plik w `.github/workflows/ci.yml` i wypchnij: zakładka Actions zapala się przy następnym commicie.

Jak wygląda workflow

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

Akcje przypięte przez generator

Akcja Cel
actions/checkout@v4 Sklonowanie repo do runnera
actions/setup-node@v4 Instalacja narzędzi Node
shivammathur/setup-php@v2 Instalacja wersji PHP z rozszerzeniami

Co dodać dalej

  • Krok lintowania (npm run lint, ./vendor/bin/phpstan analyse) przed krokiem testów.
  • Build macierzowy: uruchamiaj na wielu wersjach Node/PHP za pomocą strategy.matrix.
  • Wysyłka pokrycia: codecov-action lub coveralls-action po kroku testów.
  • Sekrety: nigdy nie wpisuj tokenów na sztywno, użyj secrets.XXX i zdefiniuj je w Settings → Actions.

Częste pułapki

  • Zapomnienie o pobraniu tagów: with: { fetch-depth: 0 } w checkout, gdy logika wydań czyta tagi.
  • Używanie obrazów Docker latest: przypnij wersje, by uruchomienia były odtwarzalne także po miesiącach.
  • Uruchamianie 30-minutowego pakietu testów przy każdym pushu: dziel długie zadania za pomocą needs:, by je zrównoleglić.

Najczęściej zadawane pytania

W .github/workflows/ci.yml w korzeniu repo. GitHub wychwytuje każdy plik YAML w tym katalogu i pokazuje każdy jako osobny workflow w zakładce Actions.

Pull requesty z forków uruchamiają workflow, ale z GITHUB_TOKEN ustawionym tylko do odczytu. Zewnętrzni kontrybutorzy nie mają dostępu do Twoich sekretów, chyba że jawnie się na to zgodzisz.

Dodaj blok strategy.matrix.php: [8.2, 8.3, 8.4] i odwołaj się do ${{ matrix.php }} w kroku setup-php. Runner uruchomi po jednym zadaniu na wersję równolegle.

Nie. Wygenerowany YAML jest wyświetlany na stronie, nie jest nigdzie przesyłany ani zapisywany, a Ty kopiujesz go samodzielnie.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach