GitHub Actions Werkstroomgenerator

Volgende

Een nieuw GitHub-repository zonder CI staat slechts één git push verwijderd van de volgende mislukte implementatie. Deze generator genereert een basisversie (.github/workflows/ci.yml) voor Node, PHP of Laravel, waarin de checkout-procedure, de juiste uitvoeringsactie, het installeren van afhankelijkheden en de standaardtestopdracht zijn opgenomen, alles wat nodig is om het groene of rode punt te activeren.

Hoe je een werkstroom maakt

  1. 1

    Kies de stapel

    Node (gebruikt `actions/setup-node`), PHP (gebruikt `shivammathur/setup-php`) of Laravel (PHP + `php artisan test`).

  2. 2

    Stel de hoofdbranch in

    `main` is de standaardwaarde; wijzig deze als uw repository nog steeds `master` of een aangepaste naam gebruikt.

  3. 3

    Genereren

    De tool stelt een YAML-bestand samen met `push`- en `pull_request`-triggers op die branch.

  4. 4

    Commit naar .github/workflows/

    Maak het bestand op `.github/workflows/ci.yml` en push; het tabblad Actions licht op bij de volgende commit.

Hoe de werkstroom eruitziet

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

Actions die de generator vastzet

Action Doel
actions/checkout@v4 Kloont het repository in de runner
actions/setup-node@v4 Installeert een Node-toolchain
shivammathur/setup-php@v2 Installeert een PHP-versie met extensies

Wat u daarna kunt toevoegen

  • Lint-stap (npm run lint, ./vendor/bin/phpstan analyse) vóór de teststap.
  • Matrix-build: uitvoeren op meerdere Node/PHP-versies met strategy.matrix.
  • Coverage-upload: codecov-action of coveralls-action na de teststap.
  • Secrets: hardcode tokens nooit; gebruik secrets.XXX en definieer ze onder Settings → Actions.

Veelvoorkomende valkuilen

  • Vergeten tags op te halen: zet with: { fetch-depth: 0 } op checkout wanneer uw release-logica tags leest.
  • latest Docker-images gebruiken: zet versies vast zodat runs maanden later reproduceerbaar blijven.
  • Bij elke push een testsuite van 30 minuten draaien: splits lange jobs met needs: om te parallelliseren.

Veelgestelde vragen

In .github/workflows/ci.yml in de hoofdmap van uw repository. GitHub herkent elke YAML in die map en toont elk bestand als een afzonderlijke werkstroom in het tabblad Actions.

Pull requests vanuit forks voeren de werkstroom uit, maar met GITHUB_TOKEN op alleen-lezen. Externe bijdragers kunnen geen toegang krijgen tot uw secrets, tenzij u dit expliciet toestaat.

Voeg een strategy.matrix.php: [8.2, 8.3, 8.4]-blok toe en verwijs naar ${{ matrix.php }} in de stap setup-php. De runner voert voor elke versie parallel één taak uit.

Nee. De gegenereerde YAML wordt op de pagina weergegeven, wordt nergens geüpload of opgeslagen, en u kopieert deze zelf.

Gerelateerde tools

Tool beschikbaar in andere talen