WordPress Eklenti İncelemesi: WP İtici
WordPress çekirdek projesi sürüm kontrolü için hala SVN kullanıyor olsa da, ciddi WordPress geliştiricilerinin büyük çoğunluğunun Git'i kendi projelerinde kullandığını söylemek oldukça güvenli. Durum böyle olunca, geliştiricilerin git iş akışlarının bir kısmını WordPress geliştirme iş akışlarına entegre etmelerine yardımcı olan WP Pusher gibi git tabanlı araçların olmaması biraz şaşırtıcı. eklentiler.
Kurmak
WP Pusher'ı WordPress eklenti deposundan indiremezsiniz. Bununla birlikte, kodunuz açık kaynaksa ve halka açık bir depoda barındırılıyorsa kullanmak ücretsizdir, bu nedenle indirmek ve açık depolarınızdan birinde denemek için WP Pusher'a gidin.
Eklentiyi indirip sitenize yükledikten sonra, yönetici menüsüne eklenen WP Pusher menü öğesine tıklayarak tema ve eklenti depoları eklemeye başlayabilirsiniz. WP Pusher'ın ücretsiz seviyesini kullandığımızdan, ana ayarlar sayfası bizim için pek geçerli değil, çünkü burası lisans anahtarınızı ve özel depolar için kimlik bilgilerinizi gireceğiniz yerdir.

Eklenti ve tema havuzları eklemek tamamen aynı işlemdir ve yalnızca birkaç bit bilgi gerektirir. Deponuzun GitHub, BitBucket veya GitLab URL'sinin yol bileşenine ihtiyacınız olacak ve ardından kodu almak için belirli bir dal veya klasör belirtebilirsiniz.

Kodu güncellemek için belirli bir şube ve klasör seçme özelliği, özellikle bir WordPress site geliştiricisiyseniz kullanışlıdır. Bu, bir proje için özel temanızı ve eklentilerinizi aynı depoda tutabileceğiniz ve hatta hazırlama ve üretim için ayrı dallar tutabileceğiniz anlamına gelirken, WP Pusher her şeyi sizin için doğru ve güncel tutar.
WP Pusher ile bir eklenti veya tema kurduğunuzda, eklenti veya temayı otomatik olarak yükleyecek ve (isteğe bağlı olarak) etkinleştirecektir. Bu tek başına, üzerinde çalıştığınız bir siteye kendi temalarınızı ve eklentilerinizi kurmanın çok hoş bir yoludur, ancak gerçek sihir, değişiklikleri zorlamanız gerektiğinde gerçekleşir.
Temanızda veya eklentinizde bazı değişiklikler yaptıktan sonra yapmanız gereken tek şey bu değişiklikleri Github, Bitbucket veya GitLab deponuza göndermek. Bu noktada wp-admin'inizi ziyaret edebilir, WP Pusher altındaki "eklentiler" veya "temalar" üzerine tıklayabilir ve o eklenti veya tema için güncelleme düğmesine tıklayabilirsiniz. Değişiklikler neredeyse anında indirilir ve uygulanır ve 2.5 yayınlandığında bir eklentiyi ilk kez otomatik olarak güncellediğiniz zaman gibi geliyor.
Bu noktada dikkat edilmesi gereken bir nokta: Pek çok kişi derlenmiş veya küçültülmüş Less, Sass, JavaScript vb. öğelerinizi taahhüt etmemenizi önerir. Bu, WP Pusher'ı kullanırken bazı sorunlara yol açabilir, çünkü yalnızca içindeki kodu çeker. deponuz ve sizin için herhangi bir önişlemci çalıştırmaz. Deponuzda bir şekilde işlenmesi gereken varlıklarınız varsa, işlenen varlıkları taahhüt etmeye başlamanız veya sunucunuzu değişiklikleri izlemek ve bunları sizin için işlemek üzere ayarlamanız gerekir.
Dağıtmak için İt
Varsayılan olarak, WP Pusher, bir temayı veya eklentiyi güncellemek için bir düğmeyi tıklamanızı gerektirir, bu da 2008'dir. WP Pusher, “Push-to-Deploy” özelliğini etkinleştirdiğinizde gerçekten parlar. WP Pusher'da bir depoda dağıtmak için dağıtmayı etkinleştirdikten sonra, dağıtmak için dağıt URL'sini Github, Bitbucket veya GitLab deposunun web kancalarına kopyalayabilirsiniz. Bu ayarlandıktan sonra, tek yapmanız gereken herhangi bir değişikliği git push ve eklentiniz veya temanız WP Pusher tarafından neredeyse anında güncellenecektir. Bu özelliği test ettiğimde, değişikliklerin ne kadar hızlı gerçekleştiği gerçekten etkileyici. Uzak sitelerde test kodunu yerel olarak test etmek kadar kolay hale getirir.
Nitpics ve Özellik İstekleri
Genel olarak, WP Pusher, WordPress geliştiricileri için gerçek bir sorunu çözen basit ve güçlü bir eklentidir, ancak kullanıcı deneyiminin iyileştirilebilecek birkaç bölümü vardır:
Bas-dağıt özelliğini etkinleştirirken, size hemen web kancası URL'si sunulmaz. İlk kez bir eklenti veya tema eklerken veya daha sonra düzenleme ekranında dağıtmak için basmayı açarsınız. Ancak, URL'yi alabileceğiniz tek yer, WP Pusher yüklü eklentilerinizi veya temalarınızı listeleyen ekranlardır.

Bunu daha da kafa karıştırıcı yapan şey, özelliğin etkinleştirilip etkinleştirilmediğine bakılmaksızın, bas-dağıt URL'sinin devre dışı bırakılmış bir metin kutusu olarak gösterilmesidir. Genel olarak, bu, bu amiral gemisi özelliğini kurmaya çalışırken birkaç tıklama ve oldukça fazla kafa karışıklığı ekler. İdeal olarak, bas-dağıt URL'sinin görüntülenmesi, özelliğin etkinleştirilip etkinleştirilmediğini netleştirir, metin alanındaki metni otomatik olarak seçerek kopyalamayı kolaylaştırır ve size URL'yi kopyalama fırsatı sunar. başka bir ekrana tıklamak zorunda kalmadan etkinleştirdiğiniz anda.
Beni rahatsız eden başka bir şey de, bir güncellemenin ne zaman mevcut olduğunu veya bir güncellemenin ne zaman uygulandığını asla bilememenizdi. Tek geliştiricili bir iş akışında bu daha az önemli olabilir, ancak bir ekiple çalışıyorsanız, değişikliklerin ne zaman kullanılabilir olduğunu veya bas-dağıt yoluyla otomatik olarak uygulandığını bilmek zorunlu olabilir.
Son olarak, eklentilerin ve temaların WP Pusher ile nasıl yüklendiğine dair bazı iyileştirmeler görmeyi çok isterim. Şu anda, yüklemek istediğiniz her eklenti/tema için repo bilgilerini kopyalayıp yapıştırmanız gerekiyor, toplu seçenek yok. İdeal olarak, Github bilgilerimi sağlayabilmeyi ve hesabımdan depoları seçebilmeyi, eklenti ve tema depolarının bir listesini içeren bir tür yapılandırma dosyası sağlamayı ve hatta yeni eklenti ve tema depoları eklemek için WP-CLI kullanmayı çok isterim. komut satırı.

WP Migrate DB Pro ile Nice Oynamak
İlk bakışta WP Pusher, özellikle site geliştiricileri için WP Migrate DB Pro için harika bir yol arkadaşı olacak gibi görünüyor. WP Migrate DB Pro, tüm verilerinizi ve medya dosyalarınızı taşımayı üstlenirken (Medya Dosyaları eklentisini kullanıyorsanız), WP Pusher temanızı ve eklentilerinizi güncel tutmanıza yardımcı olur.
WP Migrate DB Pro ve WP Pusher'ın birlikte nasıl çalıştığını test ederken, öğrendiğim ilk şey, veritabanınızı bir siteden diğerine körü körüne göndermenin wppusher_token seçeneğinin üzerine yazacağı ve kurduğunuz tüm bas-dağıt web kancalarını etkin bir şekilde devre dışı bırakacağıydı. . Çoğu durumda, yerel sitenizde yüklü WP Pusher'a ihtiyacınız yoktur, ancak bununla karşılaşırsanız, depo ana makinenize gidin ve webhook url'sini güncelleyin. Bu noktada iki jeton aynı kalmalıdır, bu nedenle sadece bir kez endişelenmeniz gerekir. Herhangi bir nedenle, yerel sitenizde uzaktan kumandanıza ek olarak WP Pusher'ın kurulu olması gerekiyorsa, beklenmedik eklenti sürprizlerinden kaçınmak için şunları yaparım:
- WP Migrate DB Pro'nun
preserved_optionsfiltresinewppusher_tokenekleyin - Etkin eklenti ayarını taşımamak için WP Migrate DB Pro'daki seçeneği işaretleyin.
- WP
wp_wppusher_packagesözel tablosunu taşıma işlemlerinden hariç tutun.
Bu küçük çatışma dışında, WP Pusher ve WP Migrate DB Pro birlikte oldukça iyi çalışır ve belirli geliştirme iş akışları için ölümcül bir kombinasyon olabilir. Örneğin, bir istemci sitesi geliştirdiğimi ve özellikler ve kısa kodlar ekleme gibi şeyleri halletmek için bir işlevsellik eklentisi kullandığımı varsayalım. Geliştirme yaparken, istemcinin takip edebilmesi için hazırlama sitesini yerel geliştirme sitemle mükemmel bir uyum içinde tutmak istiyorum, bu nedenle hem veritabanı hem de kod değişikliklerini biraz zorlayacağım. Kod değişikliklerimi her bastığımda veritabanımı zorlamak güzel olmaz mıydı?
Her Şeyi Zorlayın!
Depomu her bastığımda WP-CLI ve CLI eklentimizi kullanarak bir WP Migrate DB Pro geçişini tetikleyecek bir git kancası kurarak, uzak sitemin (veya birçok uzak sitenin hepsini aynı anda) özel eklentilerini, temasını güncelleyebilirim, ve veritabanını basitçe git push !
İlk olarak, WP Migrate DB Pro'nun kullanıcı arayüzü aracılığıyla bir geçiş profili oluşturacağım. Kullanıcı arabirimini kullanmayı tercih ediyorum, çünkü komut isteminde daha az yazmayı gerektiriyor ve komut veya komut dosyasını değiştirmek zorunda kalmadan hangi tabloların taşınacağı veya yedekleneceği gibi seçenekleri değiştirebiliyorum. Bu yüzden, tüm veritabanımı, eksi WP Pusher'ın paketler tablosunu itecek ve sadece güvenli olması için uzaktan kumandayı yedekleyecek 1 profil kimliğine sahip bir profil oluşturdum.
Sonra, proje köküme gideceğim ve bir ön-itme kancası kurmak için .git/hooks/ klasörünü açacağım. pre-push adında yeni bir dosya oluşturuyorum, chmod +x pre-push çalıştırarak onu yürütülebilir hale getiriyorum ve ardından aşağıdaki kodu yapıştırıyorum:
#!/bin/sh wp --path=/Users/jrgweb/Sites/pusher.local migratedb profile 1 2>&1 >/dev/null & exit 0
Bu, push'un gerçekleşmesini engellememek için her zaman 0 koduyla çıkacak gerçekten basit bir bash betiğidir. wp migratedb Migratedb komutunu çağırıyorum, ancak komutun doğru site için çalıştırıldığından emin olmak için WP- --path argümanını kullanıyorum ve ona sadece profili 1 kimliğiyle çalıştırmasını söylüyorum. . Son olarak, /dev/null dev/null'a wp migratedb Migratedb komutunun tüm çıktısını gönderiyorum, bu da onu ortadan kaldırıyor, ancak >/dev/null >>/path/to/a/log.log ile kolayca değiştirebilirsiniz. çıktıyı günlüğe kaydedin ve satırda herhangi bir hata olup olmadığını kontrol edin.
Şimdi git push yazmak oldukça büyülü bir deneyim haline geliyor. Eklentim yalnızca uzaktaki sitede anında güncellenmekle kalmıyor, aynı zamanda veritabanım çok kısa bir süre sonra 10 tuş vuruşundan daha az bir süre için ortaya çıkıyor.
Bunun ne kadar güçlü olduğunu test etmek için bir müşteriden acil bir istek aldığımı düşünelim. Gönderilerini ve sayfalarını bir kısa kod kullanarak Gary Busey gifleriyle doldurmak istiyorlar ve benden ana sayfayı bir Busey gif a kuyusu ile güncellememi istiyorlar. Bu istek ciddi bir meşguliyettir, bu yüzden hemen çalışmaya başlıyorum ve yerel ve uzak sitelerde zaten kurulmuş olan işlevsellik eklentime aşağıdaki kodu ekliyorum:
function busey_me() { $response = wp_remote_get( 'http://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=Gary+Busey' ); if ( is_wp_error( $response ) ) { return; } $response = json_decode( $response['body'], true ); $gif = $response['data']['image_url']; return "<img src='{$gif}' alt='Utah, gimme two!' />"; } add_shortcode( 'busey-me', 'busey_me' );
Daha sonra ana sayfa gönderisini [busey-me] güncellerim. Ana sayfayı kontrol ediyorum ve her şeyin çalıştığını görüyorum, bu yüzden terminale giriyorum ve aşağıdaki komutları yazıyorum:
$ git commit -am "added busey-me shortcode" $ git push
Daha sonra canlı siteye gidiyorum ve Bay Busey'in muhteşem yüzünün bana gülümsediğini görüyorum; hem veritabanı hem de eklenti değişikliklerinin geçtiğine dair onay.

Toplama
Bu son örnek biraz saçma olabilir, ancak bu iş akışının ne kadar güçlü olabileceğini gösteriyor. Bağlamları, UI aracılığıyla kodlamadan siteleri yönetmeye geçirmek zamana mal olabilir ve dikkatin dağılmasına neden olabilir, bu nedenle CLI'den daha fazlasını yapabilmek her zaman bir kazançtır. WP Pusher bunu muhteşem bir şekilde kolaylaştırırken, sizi git'i kullanmaya ve iş akışınızda bir gelişme olabilecek değişiklikleri düzenli olarak taahhüt etmeye ve zorlamaya teşvik eder.
Kendiniz için bir WP Pusher lisansı almayı düşünüyorsanız, 2 Şubat 2016'ya kadar kasada %25 indirimli MIGRATE kodunu kullandığınızdan emin olun.
ev borcu WordPress sitesi