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 |
|
|
Contra |
|
|
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.