Travis-ci dan Jenkins, sementara keduanya adalah alat untuk integrasi berkelanjutan sangat berbeda.
Travis adalah layanan yang di-host (gratis untuk sumber terbuka) sementara Anda harus meng-host, menginstal dan mengkonfigurasi Jenkins.
Travis tidak memiliki pekerjaan seperti di Jenkins. Perintah untuk menjalankan untuk menguji kode diambil dari file bernama.travis.yml
yang berada di sepanjang kode proyek Anda. Ini membuatnya mudah untuk memiliki kode tes yang berbeda per cabang karena setiap cabang dapat memiliki versi file .travis.yml sendiri.
Anda dapat memiliki fitur serupa dengan Jenkins jika Anda menggunakan salah satu plugin berikut:
- Plugin Travis YML - peringatan: tampaknya tidak populer, mungkin tidak lengkap fitur dibandingkan dengan Travis nyata.
- Jervis - modifikasi Jenkins untuk membuatnya membaca menciptakan pekerjaan dari
.jervis.yml
file yang ditemukan di root kode proyek. Jika .jervis.yml
tidak ada, itu akan kembali menggunakan .travis.yml
file sebagai gantinya.
Ada layanan lain yang dihosting yang mungkin Anda pertimbangkan untuk integrasi berkelanjutan (daftar tidak lengkap):
Bagaimana memilih?
Anda mungkin ingin tetap dengan Jenkins karena Anda terbiasa atau tidak ingin bergantung pada pihak ke-3 untuk sistem integrasi berkelanjutan Anda. Kalau tidak, saya akan meninggalkan Jenkins dan pergi dengan salah satu layanan CI yang di-host gratis karena mereka menghemat banyak masalah (host, instal, konfigurasikan, siapkan pekerjaan)
Bergantung pada tempat penyimpanan kode Anda dihosting, saya akan membuat pilihan berikut:
- di rumah → Jenkins atau gitlab-ci
- Github.com → Travis-CI
Untuk mengatur Travis-CI pada proyek github, yang harus Anda lakukan adalah:
- tambahkan file .travis.yml di root proyek Anda
- buat akun di travis-ci.com dan aktifkan proyek Anda
Fitur yang Anda dapatkan adalah:
- Travis akan menjalankan tes Anda untuk setiap dorongan yang dilakukan pada repo Anda
- Travis akan menjalankan tes Anda pada setiap permintaan penarikan yang akan dibuat oleh kontributor
.travis.yml
!) Saya punya beberapa proyek github yang saya jalankan untuk Jenkins saya sendiri, dan saya tidak menyesal sedikit pun. Jika Anda memiliki kemampuan untuk menjalankan Jenkins Anda sendiri, saya akan sangat mendorong opsi itu. Sangat menyenangkan memiliki kendali 100% terhadap lingkungan CI Anda.