Git ve Composer ile WordPress Sitenizi Yönetme Bölüm 3 – Temaları ve Eklentileri Yönetmek için Git Alt Modüllerini Kullanma

2. bölümde, temalarımızı ve eklentilerimizi yönetmek için Composer'ı nasıl kullanabileceğimize baktık. Bu makalede, herhangi bir üçüncü taraf aracı gerektirmeyen temalarınızı ve eklentilerinizi yönetmenin alternatif bir yolunu inceleyeceğiz.
Git Alt Modülleri belgelerinden:
Alt modüller, Git deposunu başka bir Git deposunun alt dizini olarak tutmanıza olanak tanır. Bu, projenize başka bir depo klonlamanıza ve taahhütlerinizi ayrı tutmanıza olanak tanır.
Bu, örneğin, Git'te her iki depoyu ayrı tutarken projenizde bir üçüncü taraf kitaplığı depolamak istediğinizde çok yararlı olabilir. Bizim durumumuzda temaları ve eklentileri 1. bölümden itibaren WordPress kurulumumuzla aynı Git deposunda depolamak istiyoruz.
Git Alt Modülleri Ekleme
Neyse ki tüm WordPress eklentileri Subversion deposu, herhangi bir wordpress.org eklentisinin Git sürümlerini bulmayı çok kolaylaştıran GitHub'da yansıtılır. Ne yazık ki temalar için bir ayna yok, bu yüzden onları kendiniz bulmanız gerekecek.
WP Migrate DB eklentimizin GitHub ayna sürümünü yükleyelim. Git deponuza alt modüller ekleme işlemi aslında nispeten basittir. Git deponuzun kökünden aşağıdaki komutu çalıştırın:
git submodule add -f https://github.com/wp-plugins/wp-migrate-db.git ./wp-content/plugins/wp-migrate-db
Bu, alt modülü Git deponuza ekleyecek ve gerekli tüm dosyaları indirecektir. Burada depo URL'miz için GitHub aynasını kullanıyoruz, ancak bunun istediğiniz herhangi bir Git deposu URL'si olabileceğini belirtmekte fayda var (örneğin özel bir Git deposu). Git'i alt modülü eklemeye zorlamak için burada -f kullanırız, aksi takdirde klasör yok sayıldığından şikayet eder (1. .gitignore bakın). Aşağıdakileri çalıştırarak bu değişiklikleri gerçekleştirin:
git commit -m "Added WP Migrate DB plugin"
Artık WP Migrate DB'yi yüklediniz ve onu etkinleştirebilir ve normalde yaptığınız gibi kullanabilirsiniz. Tema eklemek için süreç aynıdır, sadece onları “temalar” dizininize kurduğunuzdan emin olun.
Git Alt Modüllerini Güncelleme
Ne yazık ki Git alt modüllerini güncellemek sandığınız kadar kolay değil. Bu, Git Alt Modüllerini kullanmanın ana dezavantajlarından biridir. Git Alt Modüllerinin yapısı, tıpkı diğer Git depolarında olduğu gibi alt modül dosyalarını düzenleyebildiğinizden, değişiklikleri depolarınıza geri almayı kolaylaştırır. Ancak, alt modülü en son sürüme güncellemek için (WordPress eklentilerimizde yapmak istediğimiz gibi) alt modül klasörüne gitmeniz, en son sürümü kontrol etmeniz ve ardından bu değişiklikleri ana depoya kaydetmeniz gerekir. Komutlar şöyle görünecektir:
cd wp-content/plugins/wp-migrate-db git checkout master git pull cd ../../.. git commit -am "Updated WP Migrate DB"
Bu oldukça fazla. Ancak, özellikle birden fazla eklenti alt modülünüz varsa, size çok zaman kazandırabilecek hızlı bir tek satır vardır:
git submodule foreach git pull origin master
Bir eklentinin belirli bir sürümünü kullanmak isterseniz ne olur? Bunu, ihtiyacınız olan sürüme karşılık gelen etiketi kontrol ederek başarabilirsiniz:
cd wp-content/plugins/wp-migrate-db git checkout tags/0.7.1 cd ../../.. git commit -am "Updated WP Migrate DB to v0.7.1"
Git Alt Modüllerini Kaldırma
Güncellemeler gibi, Git alt modüllerini kaldırmak da düşündüğünüz kadar basit değil, ancak kuşkusuz güncellemeler kadar da kötü değil. Eklenti alt modülümüzü kaldırmak için şunu çalıştırırız:
git submodule deinit wp-content/plugins/wp-migrate-db git rm wp-content/plugins/wp-migrate-db git commit -am "Removed WP Migrate DB"
Eklenti klasörü artık depodan tamamen kaldırılmalı ve .gitmodules dosyası bu değişikliği yansıtacak şekilde güncellenmelidir.
dağıtımlar
Composer'da olduğu gibi, üretim sunucunuzda (veya hangi sunuculara dağıtırsanız dağıtın) alt modüllerinizi güncel tutmanın bir yolunu bulmanız gerekecektir. Dağıtım stratejileri bu makalenin kapsamı dışındadır, ancak bir an için üretim sunucunuzda bir post-receive Git kancası kurduğunuzu varsayalım. post-receive kancası, yalnızca bir havuza itildikten sonra çalışacak bir komut dosyasıdır. Alt modüllerinizi otomatik olarak güncellemenin bir yolu, post-receive kancaya aşağıdaki komutları eklemektir:
git submodule init git submodule sync git submodule update
Bu komutlar, üretim deponuza her bastığınızda Git Alt Modüllerinizin güncellenmesini sağlayacaktır. Buradaki submodule sync komutu, yerel alt modül yapılandırmanızı herhangi bir yukarı akış değişikliğiyle günceller.
Özel Temalar ve Eklentiler
Özel temalar ve eklentiler kurma süreci, 2. bölümde anlattığım süreçle neredeyse aynı, bu yüzden burada tekrar üzerinde durmayacağım. Özel temanızı/eklentinizi Git deposundaki alt modüllerinizin yanında sorunsuz bir şekilde saklayabileceğinizi söylemek yeterlidir.
Ne seçeceksin?
Temalarınızı ve eklentilerinizi yönetmek için Composer, Git Alt Modülleri veya hatta tamamen başka bir şey (ör. WP CLI) kullanmanız gerekip gerekmediği muhtemelen proje gereksinimlerinize bağlı olacaktır. Basit bir şey arıyorsanız ve sunucunuza SSHing yapmayı düşünüyorsanız, Composer harikadır. WordPress'te eklentiler geliştiriyorsanız ve değişikliklerinizi havuzunuza geri göndermeniz gerekiyorsa (Composer ile yapamayacağınız bir şey) alt modüller harikadır. Her ikisinin de artıları ve eksileri var.
Bölüm 3 için bu kadar. Bir sonraki gönderide, Composer veya Git Alt Modüllerini kullanarak bir alt dizinde WordPress Çekirdeği kurmayı ve yönetmeyi inceleyeceğiz.
ev borcu WordPress sitesi