Tidak ada waktu untuk menulis jawaban fitur lengkap (saya tahu agak lumpuh) tetapi mungkin layak untuk dibagikan (saya mungkin mengedit ini karena saya juga merencanakan posting blog di sini):
Itu berarti Anda dapat memiliki beberapa setup WP berbasis trunk / versi yang Anda dapat sepenuhnya hack termasuk. tema dan plugin.
Karena ini adalah satu repositori independen (lokal), Anda dapat mendorong ini melalui ssh ke repositori lain, misalnya satu:
- Itu berada di host jarak jauh di mana situs harus ditempatkan di (bare repo).
- Yang memiliki kait untuk membuat repositori lain pada host itu benar-benar menggabungkan perubahan yang baru saja Anda dorong.
Ini diuraikan dalam Alur kerja Git yang berfokus pada web (Nov 2008; oleh Joe Maller) .
Jika Anda memiliki pengalih konfigurasi yang memilih beton wp-config.php
berdasarkan sistem yang sedang berjalan, Anda bahkan dapat mengonfigurasi semua host secara terpusat (pengembangan, siaran langsung, pentas, teman, ...) di dalam repo.
Perubahan hulu di WP yang Anda lakukan hanya mengambil dan menggabungkan subtree.
Plugin yang baru saja Anda perbarui dan komit.
Penempatan adalah hal yang sederhana $ git push remote
.
Jalankan backup harian pada host jarak jauh untuk git repos, database dan file yang diunggah dan ini murah, ramah pengembang dan fleksibel. Ini berfungsi baik untuk pengaturan pengembang tunggal maupun untuk tim kecil karena semua orang dapat checkout dari repro telanjang di remote.
Ada beberapa peringatan:
Sekarang dengan daftar periksa Anda dan pengaturan seperti diuraikan di atas:
1. Ingin memiliki lingkungan git di server saya sendiri secara internal, tidak menggunakan Github untuk menangani repo.
Github hanya menangani repo hulu di sini (Wordpress), bukan milik Anda sendiri.
2. Pembuatan subdomain secara otomatis pada pembuatan cabang git (development.domain.com, ryan.development.domain.com) - Mungkin beberapa kait skrip shell akan ideal untuk ini.
Pengaturan sebagaimana diuraikan adalah pendekatan modular dengan satu repo per situs. Ini dapat menangani sebanyak mungkin host pengembangan yang Anda inginkan, mungkin sama-sama berfungsi baik dengan instalasi multi-situs untuk menangani beberapa domain, tetapi itu akan dihitung sebagai satu pengaturan wordpress dalam pendekatan ini.
3. Phing PHP / Shell script Penanganan migrasi db (sesuatu seperti ini http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ ) untuk menangani penggantian basis data bersambung setelah mendorong
Ini tidak diperlukan di sini karena hanya kode di bawah kontrol versi, database independen antara pengembangan (, pementasan) dan produksi sebagaimana mestinya.
Anda mungkin sedang mencari skrip instal yang melakukan migrasi domain dengan benar, tetapi bahkan dengan kode yang lebih baik (yang tersedia) yang berhubungan dengan pencarian dan penggantian data serial, dalam pengaturan ini biasanya tidak diperlukan karena Anda hanya mendorong perubahan untuk hidup , untuk kasus uji, Anda dapat dengan cepat membuat konten dalam database pengembangan, yang biasanya merupakan masalah terkecil (dari pengalaman praktis saya, pengalaman Anda mungkin berbeda, tetapi saya juga menyarankan untuk menyimpan topik terkait migrasi-database seperti pada pertanyaan tentang itu) miliki di sini di situs - tetapi tanyakan kepada mereka).
Saya menjalankan sekitar 200 situs di server saya sendiri dan ingin mulai mengimplementasikan situs-situs ini ke dalam lingkungan alur kerja git yang kuat sehingga saya dapat merampingkan pekerjaan saya jauh lebih baik.
Saya tidak bisa membayangkan bagaimana situs tersebut akan berada di bawah lingkungan alur kerja string git. Mungkin skrip konfigurasi dan data konfigurasi yang Anda kelola di sini akan disimpan di bawah kontrol versi git. Itu bisa masuk akal. Kalau tidak, dengan banyaknya situs saya pikir tidak masuk akal sama sekali untuk menyimpan semuanya dalam satu git repo. Mungkin bukan salah satu dari itu karena apa yang saya uraikan di atas adalah untuk situs yang Anda kembangkan (termasuk kode inti WP), bukan hanya untuk tugas pemasangan. Jadi, Anda mungkin perlu pertama-tama membuat sendiri beberapa peta kecil dari 200 situs tersebut dan bagaimana mereka berinteraksi satu sama lain dan dari paket mana (WP core, Plugins, Themes) situs-situs tersebut terdiri. Hal pertama yang bisa dilakukan adalah membuat spreadsheet / matriks dan memasukkan semua situs.
Anda kemudian dapat menyimpannya sebagai CSV, meletakkannya di bawah kontrol versi dan membuat skrip penerapan melakukan pekerjaan berdasarkan file itu.
Dan jika saya telah mempelajari sesuatu dengan tugas otomatis: Ikuti filosofi Unix, gunakan alat yang ada dan berfungsi dengan baik (lebih baik menghabiskan setengah hari membaca tentang beberapa perintah kemudian mencoba mencari alternatif karena untuk sebagian besar pekerjaan, masalahnya adalah dipecahkan) dan fokus pada alat baris perintah. Mereka yang paling kuat.