Jenkins vs Travis-CI: Apakah perbezaannya?

Isi kandungan:

Anonim

Apa itu CI?

Integrasi berterusan adalah kaedah pengembangan perisian di mana ahli pasukan dapat mengintegrasikan pekerjaan 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

  • Apa itu CI?
  • Apa itu Travis CI?
  • Apa itu Jenkins?
  • Apa yang dilakukan Travis?
  • Apa yang dilakukan oleh Jenkin?
  • Ciri Travis CI:
  • Ciri-ciri Jenkin:
  • Travis lwn Jenkins
  • Indeks Populariti
  • Mana yang lebih baik?

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 lebih sedikit masa untuk memulakan sementara Jenkins memerlukan persediaan 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 membina 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 penyatuan 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 cara dan penampilan Jenkin.

Lebih-lebih lagi, rangkaian plugin Jenkins Pipeline dilengkapi dengan alat khas yang membolehkan pembangun memodelkan saluran penyampaian yang mudah kompleks dengan 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
  • Penggunaan Mudah ke perkhidmatan cloud
  • Ia dapat mengenal pasti perubahan kod kecil dan besar.
  • Pembangun boleh menggunakan Travis CI untuk menonton ujian semasa dijalankan.
  • Alat ini berintegrasi dengan Slack, HipChat, Email, dll.

Apa yang dilakukan oleh Jenkin?

Jenkins membolehkan anda mengotomatisasi membina, menguji, dan melaksanakan tugas. Alat ini memberikan sokongan untuk sistem OS yang berbeza seperti 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 akan memerlukan sedikit pengubahsuaian mengikut keperluan tersuai 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 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 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 yang bebas untuk menggunakan alat ini. Ia adalah Alat CI komersial
Penggunaan Mudah untuk digunakan Fleksibel untuk digunakan
Github Bagus untuk Github Hebat untuk Github
Sokongan Sokongan dari masyarakat. Sokongan terhad untuk komuniti.
Kelebihan
  • Penyesuaian adalah faedah terbesar dari pelayan Jenkins CI
  • Arkib plugin yang luas dapat dikonfigurasikan 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 penyatuan berterusan adalah bahawa 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 Percuma Percuma untuk projek sumber terbuka. Walau bagaimanapun, Dibayar untuk Perusahaan.
Mesin Pelayan Berasaskan pelayan Berasaskan awan
Pilihan Penyesuaian Lebih banyak lagi Kurang
Konfigurasi Sepenuhnya disesuaikan YAML
Kawalan pada sistem Penuh Lebih 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-duanya 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.