Saya mengembangkan plugin saya di github tetapi ketika datang ke penyebaran saya harus entah bagaimana menyalin perubahan saya ke Wordpress SVN . Saat ini saya melakukan ini secara manual dan menyalin setiap file di setiap direktori secara terpisah, tetapi ini memakan waktu dan rawan kesalahan.
Saya telah melihat dan mencoba beberapa skrip tetapi saya pikir saya harus salah menjalankannya karena kesalahan atau tidak menyalin file dengan benar.
Jadi pertanyaan saya adalah adakah yang sudah mencapai ini secara otomatis dan jika demikian bagaimana Anda melakukannya?
Terima kasih!
Jawaban:
lihat tutorial ini dari rekan kerja tim saya: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
tapi dia tidak menggunakan solusinya, lebih mudah untuk bekerja terpisah :(
sumber
Setelah membaca tanggapan ini, saya mendorong salah satu plugin saya ke GitHub dan menulis skrip release.sh . Script ini mendapatkan checkout sebagian plugin saya dari plugins.svn.wordpress.org menggunakan
--depth immediates
, dan memperbarui file ditrunk/
danassets/
. Ini harus menyederhanakan dorongan periodik ke svn, menggunakan repositori wordpress.org untuk menandai rilis daripada mempertahankan riwayat pengembangan:Versi yang lebih umum mungkin berfungsi dengan beragam plugin, menangani file yang dihapus, dan memperbarui tag svn secara otomatis berdasarkan tag git.
sumber
Lihat Cara Menerbitkan Plugin WordPress - Git dari @EAMann untuk deskripsi terperinci.
sumber
Pertanyaannya sudah lama tetapi sekarang solusinya sekarang tersedia dengan tindakan GitHub. Baru-baru ini GitHub menambahkan Tindakan Github alur kerja otomatis untuk repositori GitHub.
Dan perusahaan terkenal 10up menciptakan "Action WordPress Plugin Deploy".
Sangat mudah diatur. Dan seperti yang dikatakan per @otto, kita tidak perlu mendorong setiap perubahan ke svn jadi, kita dapat mengatur otomatisasi sambil membuat tag baru di github.
Jadi, plugin github kami secara otomatis mendorong kode ke repositori WordPress ketika kami membuat tag rilis baru.
Tautan yang bermanfaat:
sumber
Saya tidak melakukannya secara otomatis, tetapi cukup sederhana:
Mintalah truk SVN dan master Git untuk memeriksa di direktori yang sama. Gunakan Git untuk hampir semua hal, seperti halnya dengan proyek Git saja.
Atur
stable tag
menjaditrunk
, dan ketika siap untuk melakukan rilis, tandai di Git dan kemudian segera dorong ke trunk. Jangan khawatir tentang mendorong ke SVN/tags
, karena riwayat rilis Anda aman di Git (dan Github).Itu saja.
Untuk membersihkannya, saya menambahkan
.svn
untuk.gitignore
, dan.git
(dantests/
,phpunit.xml
, dll) untuk diabaikan oleh SVN.Skrip release.sh benar-benar tidak lebih dari yang berikut (setelah nomor versi dalam kode telah diperbarui, dan semua berkomitmen untuk Git):
sumber