Jenkins vs Travis-CI: Apakah perbezaannya?

Apa itu CI?

Integrasi berterusan adalah kaedah pengembangan perisian di mana ahli pasukan dapat mengintegrasikan kerja mereka sekurang-kurangnya sekali dalam sehari. Dalam kaedah ini, setiap integrasi diperiksa oleh binaan automatik untuk mencari kesalahan. Konsep CI pertama kali diperkenalkan lebih dari dua dekad yang lalu untuk mengelakkan 'neraka integrasi', yang terjadi ketika integrasi ditangguhkan hingga akhir projek.

Dalam tutorial ini, anda akan belajar

Bagaimana CI berfungsi?

  • Pembangun menulis kod dan melakukan perubahan pada repositori bersama
  • Selepas itu, pelayan CI memantau repositori dan menilai semua perubahan
  • CI membina sistem dan melakukan integrasi dan ujian unit
  • Pelayan melepaskan artifak yang dapat digunakan
  • Pelayan integrasi berterusan memberikan tag binaan ke versi dan kod bangunan
  • Kemudian pelayan CI melaporkan pasukan mengenai kejayaan yang berjaya. Sekiranya ujian gagal, pelayan memberi amaran mengenai peristiwa itu kepada pasukan pengembangan. Pasukan akan menyelesaikan masalah secepat mungkin.

PERBEZAAN UTAMA

  • Travis CI adalah alat CI komersial sedangkan Jenkins adalah alat sumber terbuka.
  • Travis CI memerlukan sedikit masa untuk memulakan sementara Jenkins memerlukan penyediaan yang terperinci.
  • Travis CI menawarkan pilihan penyesuaian yang lebih sedikit sedangkan Jenkins menawarkan pilihan penyesuaian yang luas.
  • Travis CI mempunyai fail konfigurasi YAML sedangkan Jenkins memberikan pilihan konfigurasi penuh kepada pengguna.

Apa itu Travis CI?

Travis CI adalah CI pertama sebagai alat Perkhidmatan. Ini memperkenalkan pendekatan baru untuk membangun kod di awan. Alat CI ini membolehkan pengguna mendaftar, menghubungkan repositori mereka, membina, dan juga menguji aplikasinya.

Alat Travis CI dapat disatukan dengan mudah dengan repositori awan biasa seperti GitHub dan Bitbucket. Ia menawarkan banyak pilihan CI automatik yang menghilangkan keperluan untuk pelayan khusus kerana pelayan Travis CI dihoskan di awan. Ini membolehkan anda menguji di persekitaran yang berbeza, pada pelbagai mesin, berjalan pada Sistem Operasi yang berbeza.

Travis CI adalah percuma untuk projek sumber terbuka. Untuk projek komersial, anda perlu membeli rancangan perusahaan.

Apa itu Jenkins?

Jenkins adalah alat integrasi berterusan pemenang anugerah yang memantau pelaksanaan kitaran penggunaan. Ia dimulakan sebagai projek sampingan oleh kumpulan jurutera perisian Sun. Kemudian ia dikembangkan sebagai salah satu alat CI sumber terbuka yang popular yang membantu pasukan pengembangan perisian untuk mengotomatisasi penggunaannya.

Jenkins adalah alat berbasis Java, yang berarti Anda hanya memerlukan Java Runtime Environment untuk mengoperasikannya. Oleh itu, Jenkins boleh dipasang di mana-mana sistem operasi di mana Java berjalan.

Dalam alat ini, Pembangun juga dapat menentukan syarat untuk binaan yang disesuaikan. Jenkins menyokong arkib pemalam yang besar. Ini membolehkan pembangun mengubah bagaimana Jenkin kelihatan dan beroperasi.

Lebih-lebih lagi, rangkaian plugin Jenkins Pipeline dilengkapi dengan alat khas yang membolehkan pembangun memodelkan saluran penyampaian yang mudah dan kompleks menggunakan kaedah DSL (Digital Subscribe line).

Apa yang dilakukan Travis?

Travis CI menawarkan faedah berikut:

  • Anda boleh memantau projek GitHub
  • Menjalankan Ujian dan menghasilkan keputusan dengan cepat. Pelaksanaan ujian selari adalah mungkin.
  • Bina artifak & periksa kualiti kod
  • Penyebaran Mudah ke perkhidmatan cloud
  • Ia dapat mengenal pasti perubahan kod kecil dan besar.
  • Pembangun boleh menggunakan Travis CI untuk menonton ujian ketika dijalankan.
  • Alat ini bergabung dengan Slack, HipChat, E-mel, dll.

Apa yang dilakukan oleh Jenkin?

Jenkins membolehkan anda mengotomatisasi membina, menguji, dan melaksanakan tugas. Alat ini memberikan sokongan untuk OS yang berbeza seperti sistem Windows, Mac OSX, dan Linux.

Lebih-lebih lagi, Jenkins memberi anda kemampuan untuk membuat dan menguji kod anda dengan cepat untuk mendapatkan maklum balas awal mengenai apakah ia siap untuk dihasilkan atau tidak. Dalam kebanyakan kes, Jenkin memerlukan sedikit pengubahsuaian mengikut kehendak pasukan anda.

Ciri Travis CI:

  • Penyepaduan automatik dengan GitHub
  • Akses repositori untuk membina permintaan tarik
  • Sokongan untuk 21 bahasa seperti Android, C, C #, C ++, Java, JavaScript (dengan Node.js), Perl, PHP, Python, R, Ruby, dll.
  • Alat binaan & ujian yang telah dipasang sebelumnya
  • Perkhidmatan yang tersedia - pangkalan data, barisan mesej, dll.
  • Penyebaran ke pelbagai perkhidmatan awan
  • Enkripsi pemboleh ubah atau fail persekitaran selamat
  • Mesin maya dicipta semula selepas setiap binaan
  • Pelanggan CLI dan API untuk skrip
  • Dilengkapi dengan hosting berasaskan awan percuma yang tidak memerlukan penyelenggaraan atau pentadbiran.

Ciri-ciri Jenkin:

  • Mudah dipasang, ditingkatkan dan dikonfigurasikan
  • Binaan Teragih
  • Memantau pekerjaan luar
  • Lebih daripada 600 pemalam untuk menyesuaikan persekitaran Jenkins anda
  • Lebih dari 1000+ repositori awam di Github, 500+ penyumbang, melakukan aktiviti yang kuat
  • Sokongan untuk pelbagai kaedah pengesahan, sistem kawalan versi, pemberitahuan, dll.
  • Jenkins menyediakan API akses jarak jauh dan fungsinya.
  • Sediakan alat CI / CD yang Kuat untuk projek besar
  • Ia menyokong pelbagai model pekerjaan seperti Freestyle, Pipeline, dll.,
  • Membolehkan pembangun menambahkan peluasan mereka
  • Sesuai dengan Docker, Libvirt, Kubernetes, dan banyak program lain

Travis lwn Jenkins

Parameter Jenkin Travis
Kos Jenkins percuma. Tetapi pasukan pembangunan perlu menjalankan dan mengekalkan pelayan khusus mereka. Ini boleh dianggap sebagai perbelanjaan tambahan.Suite Travis CI enterprise bermula dari $ 129 sebulan. Kenaikan kos berdasarkan tahap sokongan yang anda perlukan.
Sediakan Masa Jenkins memerlukan persediaan yang terperinci. Oleh itu, anda akan mempunyai masa menunggu yang sangat lama untuk pemasangan yang lengkap.Ia memerlukan sedikit masa untuk memulakan. Buat fail konfigurasi dan mulakan penyatuan.
Persembahan Sekiranya anda mencari alat CI dengan pilihan penyesuaian tanpa had, maka Jenkins adalah pilihan terbaik untuk anda.Travis CI adalah pilihan terbaik Sekiranya anda bekerja dalam projek sumber terbuka.
Jenis Alat Ini adalah sumber terbuka percuma untuk menggunakan alat ini.Ia adalah Alat CI komersial
Penggunaan Mudah untuk digunakanFleksibel untuk digunakan
Github Bagus untuk GithubHebat untuk Github
Sokongan Sokongan dari masyarakat.Sokongan terhad untuk masyarakat.
Kelebihan
  • Penyesuaian adalah faedah terbesar dari pelayan Jenkins CI
  • Arkib plugin yang luas dapat dikonfigurasi untuk mengubah rupa Jenkins.
  • Anda juga boleh menambahkan fungsi baru seperti pengesahan, amaran, dan kelayakan.
  • Integrasi dengan GitHub & cloud
  • Projek sumber terbuka tanpa had dengan fungsi penuh
  • Konfigurasi projek yang luas melalui fail .travis.ymi
  • Membolehkan ujian kluster dan menjalankannya secara selari
  • Pelbagai persekitaran binaan dan platform sasaran (iaitu Node 0.10,0.8,0.6, Li on).
Keburukan
  • Satu kelemahan utama Jenkins untuk integrasi berterusan ialah ia sangat boleh dikonfigurasi. Tidak ada persediaan di luar kotak. Itulah sebabnya mungkin diperlukan dua hingga tiga jam hingga beberapa hari untuk memastikan semuanya dikonfigurasi dalam sistem.
  • Kekurangan terbesar untuk memasang Travis CI adalah bahawa rancangan Komersial bermula dari $ 129 / m yang agak mahal.
  • Tidak sesuai untuk projek keselamatan tinggi
  • Tidak seperti alat CI lain, ia tidak menawarkan Sokongan Bitbucket.
Pelan Penggunaan PercumaPercuma untuk projek sumber terbuka. Walau bagaimanapun, Dibayar untuk Perusahaan.
Mesin Pelayan Berasaskan pelayanBerasaskan awan
Pilihan Penyesuaian Lebih banyak lagiKurang
Konfigurasi Sepenuhnya disesuaikanYAML
Kawalan pada sistem PenuhLebih kurang

Indeks Populariti

Jumlah soalan berlabel Jenkins dan Travis di Stack Overflow.

Mana yang lebih baik?

Oleh itu, dengan perbincangan di atas, kita dapat mengetahui bahawa kedua-dua Travis dan Jenkins menawarkan ciri-ciri menarik. Walau bagaimanapun, projek sumber terbuka kecil sangat sesuai untuk Travis CI kerana mudah dijalankan dan cepat disiapkan. Sebaliknya, perusahaan besar sangat sesuai untuk Jenkins kerana menawarkan pelesenan percuma untuk projek swasta dan pelbagai ciri yang dapat disesuaikan. Oleh itu, kita boleh mengatakan bahawa kedua-dua alat penyatuan berterusan ini sesuai dengan cara mereka.