Advertisement
  1. Code
  2. Travis CI

Cara Deploy Plugin WordPress dari TravisCI ke WordPress.org

by
Difficulty:BeginnerLength:ShortLanguages:

Indonesian (Bahasa Indonesia) translation by Imam Firmansyah (you can also view the original English article)

Tidak semua orang menyukai sub-version. Jika anda menggunakan Git untuk mengelola perkembangan plugin WordPress, menjaga repositori Git anda dan repositori SVN WordPress.org dalam mensinkronkan sangatlah membosankan. Untungnya, kita dapat menggunakan TravisCI sebagai deployment provider untuk mengotomatisasi penyebaran SVN setelah melakukan tes.

Persyaratan

Anda perlu beberapa hal ini sebelum melanjutkan:

  1. Akun Github
  2. Akun TravisCI
  3. Source-code Plugin
  4. Repositori SVN WordPress.org plugin (anda mendapatkan ini setelah proses review persetujuan plugin)

Pertama Push ke Github

Untuk menggunakan TravisCI, kita harus menyimpan repositori plugin di GitHub.

Pertama, buatlah repositori baru di GitHub dengan mengunjungi halaman ini dan isi nama repositori.

create new GitHub repository
GitHub new repository page

Kemudian, kita akan melakukan commit semua file plugin tersebut ke Git dan melakukan Push ke repositori Github ini. Ingatlah untuk mengganti URL remote dengan yang anda miliki.

Menghubungkan TravisCI

Hubungkan Github repositori anda dengan TravisCI dengan membuka halaman akun TravisCI dan aktifkan repositori anda. Klik Sync account di sudut kanan atas jika repositori yang baru dibuat tidak muncul di dalam daftar.

TravisCI account settings

Anda sudah siap. Setiap kali anda melakukan Push Commit baru atau seseorang membuat Pull Request ke GitHub, itu akan memicu TravisCI untuk melakukan proses Build

Proses Build Pertama pada TravisCI

TravisCI menggunakan file YAML bernama .travis.yml dalam root repositori anda untuk melakukan penyesuaian pada saat proses build. Pelajari lebih lanjut tentang menyesuaikan dokumen pada saat proses build untuk melihat bagaimana anda dapat mengontrol siklus pada saat proses build.

Ini adalah file konfigurasi dasar yang memerintahkan TravisCI untuk menjalankan proses build pada PHP 7.0 dan 7.1. Karena pengujian berada di luar cakupan tutorial ini, saya telah mengganti perintah pengujian yang sesungguhnya dengan echo 'Tested'.

Commit file ini dan Push ke Github. Proses Build TravisCI akan dipicu secara otomatis.

TravisCI current build

Menambahkan Konfigurasi Deployment Provider

Deployment providers akan dijalankan jika pengujian telah dilalui dan kondisional yang telah ditentukan sebelumnya (bagian on) telah terpenuhi. TravisCI menyediakan hampir 40 deployment provider resmi. Sayangnya, tidak satupun dari mereka mendukung repositori sub-version WordPress.org. Jadi, saya membuat penyesuaian untuk provider saya sendiri. Anda bisa menemukannya di repositori GitHub ini dan pada pull request ini.

Untuk menggunakannya, tambahkan baris ini sampai akhir pada .travis.yml.

Penjelasan Konfigurasi

before_deploy

Pada bagian before_deploy akan menyalin tiga file ke direktori build yang mana akan dilakukan pemeriksaan ke dalam repositori sub-version WordPress.org. Biasanya, di sinilah anda ingin menjalankan tugas gulp atau grunt untuk menyiapkan plugin yang siap diproduksi.

Jangan menyalin file pengujian atau file yang tidak perlu ke dalam proses build karena keseluruhan direktori build akan disebarkan ke pengguna, dan pengguna tidak memerlukan file pengujian anda.

provider dan edge

Kami memberi tahu TravisCI untuk memasang provider saya dari branch add-wordpress-plugin-deployment https://github.com/TypistTech/dpl. Begitu permintaan pull request telah digabungkan, tidak lagi memerlukan bagian edge.

on

Pada bagian on akan mengatur proses deployment yang harus dijalankan. Proses Deployment hanya dipicu bila semua persyaratan terpenuhi.

Dalam contoh di atas, kami hanya melakukan proses deploy ke WordPress.org ketika:

  1. Dibangun dengan PHP versi 7.1
  2. Memiliki Commit Tag
  3. Dipicu oleh repo TangRufus/tutsplus-dpl-demo (forks dan pull-request tidak akan memicu proses deployment)

slug

Plugin slug

Jika URL plugin anda adalah https://wordpress.org/plugins/my-awesome-plugin/, maka my-awesome-plugin merupakan plugin slug.

username

Username akun WordPress.org yang akan anda kirimkan saat persetujuan tinjauan plugin.

password

Kata sandi akun WordPress.org. Jangan pernah menyimpan kata sandi ini di .travis.yml dalam teks biasa!

Pada contoh di atas, kita menggunakan variabel environment $WORDPRESS_ORG_PASSWORD, yang dapat diatur di halaman dasbor web TravisCI. Pilih Settings dari menu cog, dan klik Add pada bagian Environment Variables. Jangan pernah mengaktifkan pilihan "Display value in build log"!

TravisCI-environment-variables-settings

build_dir

Semuanya dalam direktori ini akan ter-commit ke sub-version repositori WordPress.org, yaitu akan disertakan dalam file zip yang dapat didownload.

Kami menetapkan ini untuk proses build karena kami telah menyalin file plugin ke dalam proses build selama before_deploy.

Menandai

Asumsikan bahwa kita telah memperbaiki beberapa bug dan siap untuk menerbitkan versi baru ke WordPress.org.

Perintah ini melakukan perubahan pada branch master tapi tidak memicu proses deployment:

Hanya commit tag yang memicu proses deployment:

Hasil

Kembali ke TravisCI dan buka catatan proses build PHP 7.1. Anda harus melihat catatan proses deployment.

Dan di WordPress.org trac (https://plugins.trac.wordpress.org/browser/<slug-plugin-anda>):

WordPress plugin subversion trac

Peringatan

Dua kali svn commit

Karena TravisCI mengirimkan versi lama subversion yang tidak sesuai dengan subdirektori, saya melakukan dua kali svn commit.

Perintah svn commit pertama menghapus semua yang ada di dalam trunk. svn commit kedua menyalin apapun yang ada pada build_dir ke trunk.

Percobaan

Provider ini masih bersifat percobaan dan belum bergabung dengan repositori resmi TravisCI. Anda dapat melacak umpan balik TravisCI atas permintaan pull request.

Menggunakan edge tidak akan menggabungkan branch milik kita ke upstream master. Ada kemungkinan branch berada di belakang repo resmi. Ketika hal itu terjadi, Anda dapat melakukan proses fork ke branch yang saya miliki dan mengembalikannya, kemudian mengubah source di .travis.yml ke repositori GitHub Anda.

Ringkasan

Untuk menggunakan deployment provider ini:

  1. Simpan repositori plugin di Github.
  2. Sambungkan Github dan TravisCI.
  3. Tambahkan konfigurasi ke .travis.yml.
  4. Push dengan memberikan tag.

Saya harap semua hal di atas membantu Anda menyalurkan plugin ke WordPress.org lebih cepat.

WordPress memiliki ekonomi yang sangat aktif. Ada tema, plugin, libraries, dan banyak produk lain yang membantu Anda membangun situs dan proyek Anda. Sifat platform yang open source juga menjadikannya pilihan terbaik bagi Anda untuk meningkatkan kemampuan pemrograman Anda. Apapun masalahnya, Anda bisa melihat semua yang ada di Envato Marketplace.

Terima Kasih sudah Membaca!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.