Saya mulai menggunakan Git untuk mengelola pembuatan situs Joomla, dan saya mencari beberapa panduan praktik terbaik. Seperti berdiri:
- Gunakan WHM untuk menyediakan akun baru. Saya telah menulis hook pasca pemasangan untuk mengunduh Joomla dari Github secara otomatis dan meletakkannya di
public_html
direktori yang relevan , serta membuat basis data dan pengguna DB - Instal Joomla secara manual melalui antarmuka web (meskipun saat ini mencari cara untuk mengotomatisasi ini juga)
- Siapkan repo kosong di atas
public_html
- ini adalah tempat pengguna mendorong dan menarik. Kami akan memanggil iniorigin
- Siapkan repo standar
public_html
- Tambahkan khusus Joomla
.gitignore
- Tentukan repo telanjang sebagai remote kami (
git remote add origin ../repo.git
) - Lakukan
git add .
, lalugit commit -m"Initial J! Commit"
, kemudiangit push origin master
untuk mendapatkan instalasi default di repo telanjang kami - Tambahkan
post-receive
hook ke bare repo untuk secara otomatis menarik perubahan ke dalam repo inpublic_html
(karena bare repo adalah tempat pengembang akan mendorong perubahan lokal ke) - Tambahkan
post-update
hook ke repopublic_html
kalau-kalau ada yang membuat perubahan pada server ... meskipun mereka tidak boleh
Saya tidak terlalu khawatir tentang database saat ini. Masalah utama saya sekarang adalah berurusan dengan penambahan / perubahan file Joomla. Jelas ketika saya menginstal template dan ekstensi file tertentu akan ditambahkan dan dihapus. Demikian pula pembaruan Joomla akan menyebabkan perubahan.
Apa cara terbaik untuk menghadapi perubahan di server ini? Saya berpikir untuk menulis sebuah plugin kecil yang berjalan onAfterRender
atau serupa yang menggunakan PHPGit untuk melakukan git add .
, git commit
git push origin master
. Kemudian, dalam salinan lokal saya, saya hanya bisa melakukan tarikan dan semuanya masuk. Atau ada cara yang lebih baik?
.gitignore
? Saat ini saya adalah satu-satunya pengembang dan saya cukup baru di Git, jadi saya mengikuti beberapa panduan alur kerja web dev untuk menjadikan saya di mana saya berada, yang mengarah ke struktur telanjang / publik.