Nasıl yapılır: wordpress eklentisi sunucularına GitHub deposu itme


21

Eklentimi github üzerinden geliştiriyorum, ancak dağıtım söz konusu olduğunda, değişikliklerimi bir şekilde Wordpress SVN'ye kopyalamalıyım . Şu anda bunu manuel olarak yapıyorum ve her dizindeki her dosyayı ayrı ayrı kopyalayacağım, ancak bu zaman alıcı ve hataya açık.

Birkaç komut dosyası gördüm ve denedim, ancak hata yaptıkları veya dosyaları düzgün kopyalamadıkları için onları yanlış çalıştırmam gerektiğini düşünüyorum.

Öyleyse sorum şu, bunu otomatik olarak kimse başardı ve eğer öyleyse nasıl yaptın?

Teşekkürler!


Bunun ilginç ve faydalı bir soru olduğunu düşünmeme rağmen, Git ve Subversion'un etkileşimi ile ilgili olduğundan ve WordPress'e özgü hiçbir şey olmadığı için kapsam dışında kalıyor. Burada en iyi eylemin ne olacağını düşünmem gerekiyor ...
Rarst

Bu konuyu tartışmak için meta üzerine soru başlattım .
Rarst

@Rarst bunun için teşekkürler, soruyu yanlış yerleştirdiğiniz için üzgünüm
studioromeo

Yanıtlar:


1

Bu öğreticiyi ekibimin bir iş arkadaşından görün: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn

Ancak çözümü kullanmıyor, ayrı çalışmak daha kolay :(


Teşekkürler @bueltge. Peki, manuel yönteme geri döndüğünü düşünmekte haklı mıyım?
studioromeo

4
Kutsal olanların sevgisi için, bu sitedeki talimatları izlemeyin. Birden bire SVN'ye yüzlerce taahhütte bulunursan, şahsen seni bulmak ve seni bir sopayla dövmek hayatımın hedefi olacak. Ya da belki sadece WordPress.org'dan yasakla. ;) Lütfen yalnızca son halini alınız, değişikliklerinizi yaptığınız her bir değişiklik için yapmayınız. Tarihinize değer veriyoruz, ama sadece anlamlı tarihe. Git ile ilgili sorun, insanların işe yaramaz saçmalıklar yapmasıdır ve genel olarak konuşursak, bütün bunları bilmemize gerek yoktur.
Otto

@ Lol Lol! Hayır, sadece değişikliklerimı SVN deposuna dağıtabilmek istiyorum. Şu anda bu el ile benim kontrol dışarı svn repo dosyaları üzerine yazma ama bu sıkıcı ve hata eğilimli. Önerin var mı?
studioromeo

3
Git değişikliklerinizi etkileşimli olarak yeniden yapmak, onları tek bir SVN işlemesinde birleştirmenize izin verir. Bunun nasıl yapılacağı hakkında daha fazla bilgi burada: stackoverflow.com/questions/158514/…
Otto

1
@Otto " Bilmem, dürüstçe, Git kullanmıyorum. Can sıkıcı buluyorum. " Başka bir alıntı ile cevaplanabilir (doğrudan senden) " Şahsen seni bulmak ve seni dövmek için hayatımın amacını yapacağım bir sopayla ":)
kaiser

1

Bu yanıtları okuduktan sonra eklentilerimden birini GitHub’a gönderdim ve bir release.sh betiği yazdım . Bu komut dosyası kullanarak plugins.svn.wordpress.org benim eklenti kısmi ödeme alır --depth immediatesve dosyaları günceller trunk/ve assets/. Bu, geliştirme geçmişini sürdürmek yerine sürümleri etiketlemek için wordpress.org deposunu kullanarak, svn'ye düzenli aralıklarla iletmeyi basitleştirmelidir:

./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"

Daha genel bir sürüm, çok çeşitli eklentilerle çalışabilir, silinen dosyaları yönetebilir ve git etiketlerini temel alarak svn etiketlerini otomatik olarak güncelleyebilir.


1

Bkz Git - bir WordPress eklentisi Yayınla Nasıl dan @EAMann ayrıntılı bir açıklama için.


Eğer böyle bir şey yapacaksanız, lütfen etkileşimli bir yeniden fiyatlandırma yapın ve ardından sıkıştırılacak tüm taahhütleri değiştirin, böylece SVN sunucularına onlarca küçük taahhütte bulunmazsınız. Bunun nasıl yapılacağı hakkında daha fazla bilgi burada: stackoverflow.com/questions/158514/…
Otto

5
@Otto Sunucu yükünü azaltma isteğinizi tamamen anlıyorum :) Başkalarının kodunu ayıklamak zorunda kalırsam gerçekten, gerçekten atomik taahhütleri seviyorum. Hm… tamamlanmış bir taahhüt geçmişine sahip genel bir Git deposuna otomatik bağlantı, eklenti dizini için yararlı bir geliştirme olabilir.
fuxia

3
Bu konuda @Otto ile aynı fikirdeyim. WordPress.org’un SVN’si, geliştirme havuzu değil gerçekten de sürüm deposu olmalıdır.
MikeSchinkel

1

Soru eskiydi, ancak şimdi çözüm GitHub eylemleriyle birlikte kullanılabilir. Son zamanlarda GitHub Github eklendi GitHub deposu için otomatikleştirilmiş iş akışını harekete geçirdi.

Ve iyi bilinen bir şirket 10up, "Action WordPress Plugin Deploy" uygulamasını yarattı.

Kurulumu çok kolaydır. Ve @otto'ya göre her değişikliği svn'ye zorlamamız gerekmiyor, böylece otomasyonu github'da yeni bir etiket oluştururken ayarlayabiliriz.

Bu nedenle, github eklentimiz yeni sürüm etiketi oluştururken kodu otomatik olarak WordPress havuzuna gönderir.

Kullanışlı bağlantılar:


0

Otomatik olarak yapmam ama çok basit:

SVN kamyonunu ve Git master'ı aynı dizinde kontrol ettirin. Git’i, her şey için, yalnızca Git projesinde olduğu gibi kullanın.

stable tagOlmak üzere ayarlayın trunkve sonra bırakmaya hazır olduğunuzda Git'te etiketleyin ve ardından hemen bagaja doğru itin. /tagsYayın geçmişiniz Git (ve Github) 'da güvende olduğu için SVN'ye gitmekten endişe etmeyin .

Bu konuda.

Ben ekleyin bunu temizlemek için .svnhiç .gitignoreve .git(ve tests/, phpunit.xmlvs.) SVN'de tarafından göz ardı edilecek.

Bir release.sh betiği, aşağıdakilerden çok daha fazlası olamazdı (koddaki sürüm numarası güncellendiğinde ve tümü Git'i kabul ettiğinde):

git tag $1
svn ci -m"Release: $1"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.