Ekibim de benzer bir sorunla karşı karşıya kaldı. Eklentiler ve yazdığımız temalar gibi kendi özel kodumuzu geliştirmek için git kullanıyoruz. Composer'ı , yazmadığımız eklentiler gibi bağımlılıkları yönetmek için kullanıyoruz . Herkesi senkronize etmek için composer.json ve composer.lock dosyalarını git içine kontrol ederiz. Her geliştiricinin git master şubesini çekmesi ve oyun composer update
parklarını sık sık çalıştırması beklenir, böylece herkes güncel kalır.
Veritabanında, geliştiriciler çoğunlukla yapılandırmaya önem verir ve yapılandırmayı senkronize tutmak için sık sık WP-CLI kullanıyoruz . Örneğin, eklentileri sunucu başına esasına göre etkinleştirmek veya devre dışı bırakmak için WP-CLI komutunu çalıştıran bir kabuk komut dosyasına sahibiz; Bazı eklentiler, yalnızca içerik hazırlama sunucumuzda kullanılır, örneğin, komut dosyası herhangi bir ana bilgisayarda çalıştırılabilir ve yalnızca bu ana bilgisayarda uygun ayarları etkinleştirir. Komut dosyası için çok zaman harcayan bazı yapılandırmalar yalnızca belgelenir ve gerekirse manuel olarak çoğaltılır.
Ayrıca, veritabanını içerik hazırlama sunucumuzdan bir QA veya dev ana bilgisayarına tamamen klonlayacak bir perl komut dosyası var. Devs, tüm mevcut içeriği isterlerse, bunu kod ve yapılandırmaya sahip olmaktan daha az önemli olsa da, periyodik olarak kullanabilirler. Komut şu görevleri yerine getirir:
- içerik aşamalandırma sunucusunun veritabanına ait mySQL dökümü, tablo adlarını değiştirme, hedef sunucunun veritabanına yükleme
- Hedef sunucuya başvurmak için veritabanı içindeki hazırlama sunucusuna yapılan başvuruları değiştirmek için wp-cli komutunu kullanın.
- Hedef sunucudaki uploads dizinini, içerik hazırlama sunucusunun yüklemeleriyle senkronize edin.
Hızlı bir şekilde gelen veritabanını gerçekten sürümlemek için bazı umut verici çözümler var. VersionPress ve Mergebot tanıdığım iki kişi ve diğerleri de olabilir.
Blog'umda git ve Composer ile birlikte çalışmak için WordPress'i nasıl kurduğumuz hakkında daha fazla teknik detay yazdım . Git'te tutmak istediğimiz kod ile WordPress çekirdeği arasında temiz bir ayrım yapmak için WordPress çekirdeği ile kendi dizininde çalışmak gerekliydi. WordPress'in kendisini bir bağımlılık olarak görüyor ve Composer ile yönetiyoruz.