Jenkins vs Travis-CI: Care este diferența?

Cuprins:

Anonim

Ce este CI?

Integrarea continuă este o metodă de dezvoltare software în care membrii echipei își pot integra munca cel puțin o dată pe zi. În această metodă, fiecare integrare este verificată de o construcție automată pentru a căuta eroarea. Conceptul CI a fost introdus pentru prima dată în urmă cu peste două decenii pentru a evita „iadul integrării”, care se întâmplă atunci când integrarea este amânată până la sfârșitul unui proiect.

În acest tutorial, veți învăța

  • Ce este CI?
  • Ce este Travis CI?
  • Ce este Jenkins?
  • Ce face Travis?
  • Ce a făcut Jenkin?
  • Caracteristici Travis CI:
  • Caracteristici Jenkin:
  • Travis vs. Jenkins
  • Indice de popularitate
  • Care e mai bun?

Cum funcționează CI?

  • Dezvoltatorii scriu cod și comit modificări în depozitul partajat
  • După aceea, serverul CI monitorizează depozitul și evaluează toate modificările
  • CI construiește sistemul și efectuează teste de integrare și de unitate
  • Serverul lansează artefacte implementabile
  • Serverul de integrare continuă atribuie o etichetă de construcție versiunii și codului de construcție
  • Apoi, serverul CI raportează echipa despre construirea cu succes. Dacă testele eșuează, serverul alertează echipa de dezvoltare despre eveniment. Echipa va remedia problemele cât mai repede posibil.

DIFERENȚA CHEIE

  • Travis CI este un instrument comercial CI, în timp ce Jenkins este un instrument open-source.
  • Travis CI necesită foarte puțin timp pentru a începe, în timp ce Jenkins are nevoie de o configurare elaborată.
  • Travis CI oferă mai puține opțiuni de personalizare, în timp ce Jenkins oferă opțiuni de personalizare vaste.
  • Travis CI are un fișier de configurare YAML, în timp ce Jenkins oferă utilizatorului o opțiune completă de configurare.

Ce este Travis CI?

Travis CI a fost primul CI ca instrument de service. A introdus o nouă abordare a codului de construcție în cloud. Acest instrument CI permite utilizatorului să se înscrie, să-și conecteze depozitul, să construiască și să-și testeze aplicațiile.

Instrumentul Travis CI se poate integra cu ușurință în depozitele de cloud obișnuite precum GitHub și Bitbucket. Oferă multe opțiuni CI automatizate, care elimină necesitatea unui server dedicat, deoarece serverul Travis CI este găzduit în cloud. Acest lucru vă permite să testați în diferite medii, pe diverse mașini, care rulează pe diferite sisteme de operare.

Travis CI este gratuit pentru proiectele open source. Pentru proiecte comerciale, trebuie să achiziționați un plan de întreprindere.

Ce este Jenkins?

Jenkins este un instrument de integrare continuă premiat care monitorizează execuțiile ciclurilor de implementare. A început ca un proiect secundar al grupului de ingineri software Sun. Ulterior, a fost extins ca unul dintre instrumentele CI open source populare care ajută echipele de dezvoltare software să își automatizeze implementările.

Jenkins este un instrument bazat pe Java, ceea ce înseamnă că aveți nevoie doar de Java Runtime Environment pentru al opera. Prin urmare, Jenkins poate fi instalat pe orice sistem de operare pe care rulează Java.

În acest instrument, dezvoltatorii pot specifica, de asemenea, condiții pentru versiunile personalizate. Jenkins acceptă o arhivă masivă de pluginuri. Acest lucru permite dezvoltatorilor să modifice modul în care Jenkin arată și funcționează.

Mai mult, suita Jenkins Pipeline de plugin-uri vine cu instrumente speciale care permit dezvoltatorilor să modeleze conducte de livrare ușor de complex, folosind metoda DSL (linia de abonament digital).

Ce face Travis?

Travis CI oferă următoarele avantaje:

  • Puteți monitoriza proiectele GitHub
  • Rulează Testează și generează rapid rezultate. Este posibilă executarea testului paralel.
  • Construiți artefacte și verificați calitatea codului
  • Implementare ușoară în servicii cloud
  • Poate identifica modificări de cod atât mici, cât și mari.
  • Dezvoltatorii pot folosi Travis CI pentru a urmări testele atunci când rulează.
  • Instrumentul se integrează cu Slack, HipChat, Email etc.

Ce face Jenkin?

Jenkins vă permite să vă automatizați activitățile de construire, testare și implementare. Instrumentul oferă suport pentru diferite sisteme de operare, cum ar fi sistemele Windows, Mac OSX și Linux.

Mai mult, Jenkins vă oferă posibilitatea de a construi și testa rapid codul dvs. pentru a primi feedback timpuriu cu privire la faptul dacă este pregătit pentru producție sau nu. În majoritatea cazurilor, Jenkin va necesita câteva modificări în funcție de cerințele personalizate ale echipei dvs.

Caracteristici Travis CI:

  • Integrare automată cu GitHub
  • Acces la depozit pentru a crea cereri pull pull
  • Suport pentru 21 de limbi precum Android, C, C #, C ++, Java, JavaScript (cu Node.js), Perl, PHP, Python, R, Ruby etc.
  • Instrumente de construire și testare preinstalate
  • Servicii disponibile - baze de date, cozi de mesaje etc.
  • Implementare pe mai multe servicii cloud
  • Criptați variabile sau fișiere de mediu securizat
  • Mașinile virtuale au fost recreate după fiecare construcție
  • Client CLI și API pentru scriptare
  • Vine cu găzduire gratuită bazată pe cloud, care nu necesită întreținere sau administrare.

Caracteristici Jenkin:

  • Ușor de instalat, actualizat și configurat
  • Versiuni distribuite
  • Monitorizarea locurilor de muncă externe
  • Peste 600 de pluginuri pentru a vă personaliza mediul Jenkins
  • Peste 1000 de depozite publice de peste Github, peste 500 de colaboratori, activitate de comitere puternică
  • Suport pentru diferite metode de autentificare, sisteme de control al versiunilor, notificări etc.
  • Jenkins oferă API de acces la distanță și funcționalitățile sale.
  • Oferiți un instrument CI / CD puternic pentru proiecte mari
  • Acceptă diverse modele de locuri de muncă, cum ar fi Freestyle, Pipeline etc.,
  • Permite dezvoltatorilor să își adauge extensiile
  • Compatibil cu Docker, Libvirt, Kubernetes și multe alte programe

Travis vs. Jenkins

Parametru Jenkin Travis
Cost Jenkins este liber. Dar echipa de dezvoltare trebuie să ruleze și să își întrețină serverul dedicat. Aceasta ar putea fi considerată o cheltuială suplimentară. Suitele pentru întreprinderi Travis CI încep de la 129 USD pe lună. Creșterea costurilor pe baza nivelului de asistență de care aveți nevoie.
Configurați ora Jenkins are nevoie de o configurare elaborată. Deci, veți avea un timp de așteptare foarte lung pentru instalarea completă. Este nevoie de foarte puțin timp pentru a începe. Creați un fișier de configurare și începeți integrarea.
Performanţă Dacă sunteți în căutarea unui instrument CI cu opțiuni de personalizare nelimitate, atunci Jenkins este cea mai bună alegere pentru dvs. Travis CI este cea mai bună alegere Dacă lucrați într-un proiect open source.
Tipul instrumentului Este un open-source gratuit pentru a utiliza instrumentul. Este un instrument CI comercial
Utilizare Ușor de folosit Flexibil de utilizat
Github Bun pentru Github Excelent pentru Github
A sustine Sprijin extins din partea comunității. Sprijin limitat pentru comunitate.
Pro
  • Personalizarea este cel mai mare beneficiu al serverului Jenkins CI
  • O arhivă extinsă de pluginuri poate fi configurată pentru a schimba aspectul lui Jenkins.
  • De asemenea, puteți adăuga noi funcționalități precum autentificare, alerte și acreditări.
  • Integrare cu GitHub și cloud
  • Proiecte open source nelimitate cu funcționalitate completă
  • Configurare extinsă a proiectului prin fișierul .travis.ymi
  • Permite teste cluster și rulează-le în paralel
  • Mai multe medii de construcție și platforme țintă (adică nod 0.10,0.8,0.6, Li activat).
Contra
  • Un dezavantaj major al Jenkins pentru integrarea continuă este că este extrem de configurabil. Nu există nicio configurare prealabilă. De aceea, poate dura două-trei ore până la zile până când totul este configurat în sistem.
  • Cele mai mari dezavantaje ale instalării Travis CI este că planurile sale comerciale încep de la 129 USD / m, ceea ce este destul de scump.
  • Nu este potrivit pentru proiecte de înaltă securitate
  • Spre deosebire de alte instrumente CI, nu oferă suport Bitbucket.
Planuri de utilizare Gratuit Gratuit pentru proiectele open source. Cu toate acestea, plătit pentru întreprindere.
Mașină server Bazat pe server Bazat pe cloud
Opțiuni de personalizare Mai mult Mai puțin
Configurare Complet personalizabil YAML
Controlul sistemului Deplin Foarte putin

Indice de popularitate

Numărul de întrebări etichetate Jenkins și Travis în Stack Overflow.

Care e mai bun?

Astfel, cu discuția de mai sus, putem constata că Travis și Jenkins oferă ambele caracteristici minunate. Cu toate acestea, proiectele open source mici sunt cele mai potrivite pentru Travis CI, deoarece este ușor de rulat și de configurat rapid. Pe de altă parte, întreprinderea mare este cea mai potrivită pentru Jenkins, deoarece oferă licențe gratuite pentru un proiect privat și o gamă largă de caracteristici personalizabile. Deci, putem spune că ambele instrumente de integrare continuă sunt bune în calea lor.