Generator Alur Kerja untuk GitHub Actions

Berikutnya

Repositori GitHub baru yang belum memiliki CI hanya berjarak satu git push dari deployment gagal berikutnya. Generator ini menulis .github/workflows/ci.yml awal untuk Node, PHP, atau Laravel, merangkai checkout, action runtime yang tepat, pemasangan dependensi, dan perintah pengujian standar, semua yang Anda butuhkan untuk menyalakan titik hijau/merah.

Cara Membuat Alur Kerja

  1. 1

    Pilih stack

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

  2. 2

    Atur branch utama

    `main` merupakan nilai bawaan; gantilah jika repositori Anda masih menggunakan `master` atau nama khusus.

  3. 3

    Hasilkan

    Alat ini menyusun berkas YAML yang mencakup trigger `push` dan `pull_request` pada branch tersebut.

  4. 4

    Commit ke .github/workflows/

    Buat file di `.github/workflows/ci.yml` lalu push; tab Actions akan menyala pada commit berikutnya.

Bagaimana tampilan alur kerja

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

Action yang ditetapkan oleh generator

Action Tujuan
actions/checkout@v4 Mengklon repositori ke dalam runner
actions/setup-node@v4 Memasang toolchain Node
shivammathur/setup-php@v2 Memasang versi PHP beserta ekstensinya

Apa yang perlu ditambahkan berikutnya

  • Langkah Lint (npm run lint, ./vendor/bin/phpstan analyse) sebelum langkah pengujian.
  • Build matriks: jalankan pada berbagai versi Node/PHP menggunakan strategy.matrix.
  • Unggah cakupan (coverage): codecov-action atau coveralls-action setelah langkah pengujian.
  • Secrets: jangan pernah menuliskan token secara hardcode; gunakan secrets.XXX dan definisikan di bagian Settings → Actions.

Kesalahan Umum

  • Lupa mengambil tag: tambahkan with: { fetch-depth: 0 } pada checkout saat logika rilis Anda membaca tag.
  • Menggunakan image Docker latest: tetapkan versi agar proses eksekusi tetap dapat direproduksi secara konsisten beberapa bulan kemudian.
  • Menjalankan rangkaian pengujian selama 30 menit pada setiap push: bagi tugas-tugas panjang menggunakan needs: agar berjalan secara paralel.

Pertanyaan yang Sering Diajukan

Di .github/workflows/ci.yml pada direktori akar repositori Anda. GitHub akan membaca semua file YAML di dalam direktori tersebut dan menampilkan masing-masing sebagai alur kerja terpisah pada tab Actions.

Permintaan pull dari fork akan menjalankan alur kerja, namun dengan GITHUB_TOKEN diatur sebagai hanya untuk pembacaan. Kontributor eksternal tidak dapat mengakses data rahasia Anda kecuali Anda secara eksplisit memberikan izin.

Tambahkan blok strategy.matrix.php: [8.2, 8.3, 8.4] dan gunakan referensi ${{ matrix.php }} pada langkah setup-php. Runner akan menjalankan satu tugas untuk setiap versi secara paralel.

Tidak. YAML yang dihasilkan ditampilkan di halaman, tidak diunggah atau disimpan di mana pun, dan Anda menyalinnya sendiri.

Alat Terkait

Alat ini tersedia dalam bahasa lain