Panduan rilis

  • Diperbarui
  • 2 menit baca
  • Untuk pengelola proyek
  • Waktu pengerjaan 15 menit

RingkasnyaJalankan php artisan pondok:release –release-version=X.Y.Z di repo yang bersih. Perintah ini membangun paket zip siap unggah beserta checksum SHA-256 di storage/app/releases.

Daftar isi

Halaman ini untuk pengelola yang membuat paket zip yang diunggah sekolah ke hosting cPanel. Panduan pemasangan untuk sekolah ada di Instalasi di cPanel.

Apa prasyarat mesin build? Tautan ke bagian Apa prasyarat mesin build?

  • PHP 8.3 atau lebih baru dengan ekstensi zip (CLI).
  • Composer 2.
  • Node.js dan pnpm, hanya di mesin build.
  • git, dengan repo dalam keadaan bersih (semua perubahan sudah di-commit).

composer.json mengunci platform PHP 8.3, sehingga dependency yang terpasang tetap cocok untuk server PHP 8.3 walau mesin build memakai PHP lebih baru.

Bagaimana membuat paket rilis? Tautan ke bagian Bagaimana membuat paket rilis?

Terminal
php artisan pondok:release --release-version=1.2.0

Langkah yang dijalankan:

  1. Menolak berjalan bila APP_ENV=production, atau bila ada perubahan yang belum di-commit (kecuali dengan --allow-dirty). Hanya commit HEAD yang dipaketkan.
  2. git archive HEAD ke folder staging sementara.
  3. composer install --no-dev --optimize-autoloader di staging. Skrip Composer menerbitkan aset Filament.
  4. pnpm install --frozen-lockfile --ignore-workspace, lalu pnpm run build untuk aset Vite di public/build.
  5. Menulis berkas VERSION.
  6. Memeriksa kelengkapan paket.
  7. Menulis pondok-<versi>.zip (berakar folder pondok/) dan pondok-<versi>.zip.sha256 ke storage/app/releases.

Opsi apa yang tersedia? Tautan ke bagian Opsi apa yang tersedia?

OpsiFungsi
--release-version=Versi paket. Bawaan: hasil git describe --tags --always.
--output=Folder hasil. Bawaan storage/app/releases.
--allow-dirtyLanjut walau ada perubahan belum di-commit. Perubahan itu tidak ikut paket.
--keep-stagingSimpan folder staging untuk diperiksa.

Bagaimana pemeriksaan kelengkapan paket? Tautan ke bagian Bagaimana pemeriksaan kelengkapan paket?

Paket ditolak bila:

  • tidak ada public/build/manifest.json, vendor/autoload.php, aset Filament, .htaccess root, .env.production.example, atau docs/instalasi.md;
  • ada paket pengembangan, misalnya vendor/pestphp/;
  • ada berkas .env rahasia.

Apa isi paket rilis? Tautan ke bagian Apa isi paket rilis?

Ikut: kode aplikasi, vendor/ tanpa paket dev, public/build, aset Filament (public/css|js|fonts/filament), .env.example, .env.production.example, .htaccess root penolak akses, kerangka folder storage dan bootstrap/cache, docs/ (kecuali docs/plans dan docs/handoffs), dan VERSION.

Tidak ikut: .env dan varian rahasianya, .git, node_modules, tests, berkas kerja agent (.claude, CLAUDE.md, AGENTS.md, boost.json, feature_list.json), log, cache, sesi, view terkompilasi, unggahan, database/database.sqlite, dan public/storage.

Periksa isi zip bila perlu:

Terminal
unzip -l storage/app/releases/pondok-1.2.0.zip | less

Bagaimana memeriksa checksum? Tautan ke bagian Bagaimana memeriksa checksum?

Sekolah dapat mencocokkan berkas yang diunduh dengan:

Terminal
shasum -a 256 -c pondok-1.2.0.zip.sha256

Bagaimana menandai versi? Tautan ke bagian Bagaimana menandai versi?

Setelah paket diuji, yaitu instalasi bersih dan pembaruan dari versi sebelumnya, tandai commit-nya:

Terminal
git tag -a v1.2.0 -m "Pondok CMS 1.2.0"
git push origin v1.2.0

Tanpa --release-version, pondok:release memakai tag ini sebagai versi.

Uji dua skenario sebelum rilis

Selalu uji instalasi bersih dan pembaruan dari versi sebelumnya dengan pondok:upgrade sebelum menandai dan membagikan paket.

Langkah berikutnya Tautan ke bagian Langkah berikutnya

Perbaiki halaman ini di GitHub