Generatore di Workflow di GitHub Actions

Avanti

Un nuovo repository GitHub senza CI è a un git push dalla prossima distribuzione rotta. Questo generatore scrive un .github/workflows/ci.yml di avvio per Node, PHP o Laravel, configurando checkout, l’azione di runtime corretta, installazione delle dipendenze e il comando di test standard, tutto ciò di cui hai bisogno per attivare il punto verde/rosso.

Come generare un workflow

  1. 1

    Scegli lo stack

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

  2. 2

    Imposta il ramo principale

    `main` è il predefinito; sovrascrivi se il tuo repo utilizza ancora `master` o un nome personalizzato.

  3. 3

    Genera

    Lo strumento assembla un file YAML con attivatori `push` e `pull_request` su quel ramo.

  4. 4

    Commit su .github/workflows/

    Crea il file in `.github/workflows/ci.yml` e fai push, la scheda Actions si illumina al prossimo commit.

Come appare il 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

Azioni fissate dal generatore

Azione Scopo
actions/checkout@v4 Clona il repo nel runner
actions/setup-node@v4 Installa una toolchain Node
shivammathur/setup-php@v2 Installa una versione PHP con estensioni

Cosa aggiungere dopo

  • Passo di lint (npm run lint, ./vendor/bin/phpstan analyse) prima del passo di test.
  • Build a matrice: esegui su più versioni Node/PHP con strategy.matrix.
  • Caricamento della copertura: codecov-action o coveralls-action dopo il passo di test.
  • Segreti: non codificare mai i token, usa secrets.XXX e definiscili sotto Impostazioni → Azioni.

Errori comuni

  • Dimenticare di recuperare i tag: with: { fetch-depth: 0 } su checkout quando la tua logica di rilascio legge i tag.
  • Utilizzare immagini Docker latest: fissa le versioni per mantenere le esecuzioni riproducibili mesi dopo.
  • Eseguire una suite di test di 30 minuti a ogni push: dividi i lavori lunghi con needs: per parallelizzare.

Domande frequenti

In .github/workflows/ci.yml nella radice del tuo repo. GitHub rileva qualsiasi YAML sotto quella directory e mostra ciascuno come un workflow separato nella scheda Actions.

Le richieste di pull dai fork eseguono il workflow ma con GITHUB_TOKEN impostato su sola lettura. I collaboratori esterni non possono accedere ai tuoi segreti a meno che tu non opti esplicitamente.

Aggiungi un blocco strategy.matrix.php: [8.2, 8.3, 8.4] e fai riferimento a ${{ matrix.php }} nel passo setup-php. Il runner genererà un lavoro per ogni versione in parallelo.

No. Il YAML generato viene mostrato nella pagina, non viene caricato né salvato da nessuna parte, e lo copi tu stesso.

Strumenti correlati

Strumento disponibile in altre lingue