~/saidqb cat wiki/stack/git/project-app.md
MDproject-app.md
commit by saidqb
Struktur 1 — Semua Isi Repo Adalah Project
Struktur paling sederhana: tidak ada folder doc/ atau folder lain di repo yang sama — apa yang ada di root repo memang itu yang mau dijalankan/di-deploy.
repo/
├── src/
├── public/
├── package.json (atau composer.json, requirements.txt, dst)
└── .git/
Karena seluruh isi repo memang untuk production, tidak perlu git subtree — push biasa saja sudah cukup.
Urutan Deploy
- Tambahkan remote production (sekali saja, kalau belum ada)
git remote add production git@server:/path/to/repo.git
- Push ke remote itu
git push production main
- Di server: kalau pakai bare repo +
post-receivehook, working directory production otomatis ter-checkout. Kalau tidak pakai hook, tinggalpullmanual di server
ssh user@server "cd /var/www/app && git pull origin main"
Kapan cocok pakai pola ini
- Project kecil/tunggal, tidak ada dokumentasi internal atau folder lain yang numpang di repo yang sama.
- Semua file di repo memang aman kalau ikut ke server production.
Kalau ada file yang tidak boleh ikut ke production (dokumentasi internal, script development, dsb) tapi tetap satu repo — pakai pola di project-app-dan-doc.md.