Tam özellikli bir cevap yazmak için zaman yok (topal biliyorum) ama muhtemelen yine de paylaşmaya değer (Bunu da bir blog yazısı planladığım için bunu düzenleyebilirim):
Bu, tam olarak dahil edebileceğiniz bazı gövde / sürüm dalı tabanlı WP kurulumuna sahip olabileceğiniz anlamına gelir. temalar ve eklentiler.
Bu bir bağımsız (yerel) havuz olduğundan, bunu ssh ile diğer havuzlara, örneğin bir havuza aktarabilirsiniz:
- Bu, sitenin dağıtılması gereken uzak ana bilgisayarda bulunur (çıplak repo).
- Bu ana bilgisayarda başka bir depo yapmak için kancalar var, sadece ittiğin değişiklikler.
Bu, web odaklı Git iş akışında özetlenmiştir (Kasım 2008; Joe Maller tarafından) .
Ardından, wp-config.php
üzerinde çalıştığı sisteme göre betonu seçen bir yapılandırma anahtarınız varsa, repo içindeki tüm ana bilgisayarları (geliştirme, canlı, evreleme, arkadaşlar, ...) bile merkezi olarak yapılandırabilirsiniz.
WP'deki yukarı akış değişiklikleri, yalnızca altağaçta alır ve birleştirirsiniz.
Sadece güncellediğiniz ve uyguladığınız eklentiler.
Dağıtım basittir $ git push remote
.
Git depoları, veritabanı ve yüklenen dosyalar için uzak ana bilgisayarda günlük yedeklemeler çalıştırın ve bu ucuz, geliştirici dostu ve esnektir. Bu, tek geliştirici kurulumları ve küçük ekipler için iyi çalışır, çünkü herkes uzaktan kumandadaki çıplak reprodan ödeme yapabilir.
Bazı uyarılar var:
Şimdi kontrol listeniz ve yukarıda açıklandığı gibi kurulumla:
1. Git ortamımı dahili olarak kendi sunucumda kullanmak, depoları işlemek için Github kullanmak istemiyorum.
Github burada yalnızca yukarı akış depolarını (Wordpress) işler, kendi kopyalarınızı değil.
2. Git dalı oluşturulduğunda alt alan adlarının otomatik oluşturulması (development.domain.com, ryan.development.domain.com) - Muhtemelen bazı kabuk komut dosyası kancaları bunun için idealdir.
Belirtildiği gibi kurulum, saha başına bir repo ile modüler bir yaklaşımdır. İstediğiniz kadar geliştirme ana bilgisayarını işleyebilir, birden çok etki alanını işlemek için çok siteli bir yükleme ile aynı şekilde iyi çalışabilir, ancak bu, bu yaklaşımda bir wordpress kurulumu olarak sayılır.
3. Phing PHP / Shell betiği itme üzerine seri veritabanı değiştirme işlemek için db geçiş ( http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ gibi ) işleme
Burada sadece kod sürüm kontrolü altında olduğu için veri tabanları gerekli değildir, veritabanları geliştirme (aşamalandırma) ve üretim arasında olması gerektiği gibi bağımsızdır.
Etki alanı taşıma işlemini doğru yapan bir yükleme komut dosyası arıyor olabilirsiniz, ancak serileştirilmiş veri arama ve değiştirme ile ilgilenen daha iyi kodla (mevcut) bile, bu kurulumda normalde değişiklikleri yaşamak için zorlamanıza gerek yoktur. , test senaryoları için içeriği hızlı bir şekilde geliştirme veritabanında oluşturabilirsiniz, bu normalde en küçük sorundur (pratik deneyimimden, sizinki farklı olabilir, ancak bu tür veritabanı göçüyle ilgili konuları bununla ilgili sorularda tutmanızı da öneririm burada kendi sitelerinde - ama lütfen onlara sorun).
Kendi sunucumda yaklaşık 200 site çalıştırıyorum ve bu siteleri güçlü bir git iş akışı ortamına uygulamaya başlamak istiyorum, böylece çalışmamı daha iyi düzene sokabilirim.
Bu sitelerin bir dize git iş akışı ortamında nasıl olacağını hayal bile edemiyorum. Belki burada yönettiğiniz yapılandırma komut dosyaları ve yapılandırma verileri git sürüm kontrolü altında tutulacaktır. Bu mantıklı olabilir. Aksi takdirde sitelerin sırf miktarı ile ben bir git repo tüm bu tutmak hiç mantıklı olduğunu düşünüyorum. Belki de bunlardan biri değil, çünkü yukarıda özetlediğim şey, yalnızca kurulum görevleri için değil, geliştirdiğiniz siteler için (WP çekirdek kodu dahil). Bu nedenle, öncelikle kendinize bu 200 sitenin küçük bir haritasını ve bunların birbirleriyle nasıl etkileşime girdiğini ve bu sitelerin hangi paketlerden (WP çekirdeği, Eklentiler, Temalar) oluştuğunu oluşturmanız gerekir. İlk şey bir elektronik tablo / matris oluşturmak ve tüm siteleri koymak olabilir.
Daha sonra CSV olarak kaydedebilir, sürüm kontrolü altına alabilir ve dağıtım komut dosyalarının bu dosyaya göre çalışmalarını gerçekleştirebilirsiniz.
Ve görevleri otomatikleştirerek bir şey öğrendiysem: Unix felsefesini takip edin, mevcut ve iyi çalışan araçları kullanın (bazı komutları okumak için yarım gün geçirmek daha sonra alternatifler aramaya çalışmak daha iyidir çünkü çoğu iş için problemler çözüldü) ve komut satırı araçlarına odaklanın. En güçlüler.