Jenkins vs Travis-CI: Koks skirtumas?

Kas yra CI?

Nuolatinė integracija yra programinės įrangos kūrimo metodas, kai komandos nariai bent kartą per dieną gali integruoti savo darbą. Taikant šį metodą, kiekviena integracija tikrinama naudojant automatinę versiją, kad būtų ieškoma klaidos. CI koncepcija pirmą kartą buvo pristatyta daugiau nei prieš du dešimtmečius, kad būtų išvengta „integracijos pragaro“, o tai atsitinka, kai integracija atidedama iki projekto pabaigos.

Šioje pamokoje sužinosite

Kaip veikia CI?

  • Kūrėjai rašo kodą ir atlieka bendrinamos saugyklos pakeitimus
  • Po to CI serveris stebi saugyklą ir įvertina visus pakeitimus
  • CI kuria sistemą ir atlieka integravimo bei vieneto bandymus
  • Serveris išleidžia diegiamus artefaktus
  • Nuolatinės integracijos serveris priskiria versijos ir pastato kodo kūrimo žymą
  • Tada CI serveris praneša komandai apie sėkmingą kūrimą. Jei bandymai nepavyksta, serveris apie įvykį praneša kūrėjų komandai. Komanda kuo greičiau išspręs problemas.

PAGRINDINIS SKIRTUMAS

  • „Travis CI“ yra komercinis CI įrankis, o „Jenkins“ yra atvirojo kodo įrankis.
  • „Travis CI“ užima labai mažai laiko, kol reikia pradėti, o Jenkinsui reikia išsamios sąrankos.
  • „Travis CI“ siūlo mažiau tinkinimo parinkčių, o „Jenkins“ siūlo daugybę pritaikymo galimybių.
  • „Travis CI“ turi YAML konfigūracijos failą, o „Jenkins“ suteikia vartotojui visą konfigūracijos parinktį.

Kas yra Travis CI?

„Travis CI“ buvo pirmasis CI kaip paslaugų įrankis. Jis pristatė naują požiūrį į kodo kūrimą debesyje. Šis CI įrankis leidžia vartotojui prisiregistruoti, susieti saugyklą, kurti ir išbandyti savo programas.

„Travis CI“ įrankį galima lengvai integruoti į įprastas debesų saugyklas, tokias kaip „GitHub“ ir „Bitbucket“. Jis siūlo daugybę automatizuotų CI parinkčių, dėl kurių nereikia specialaus serverio, nes „Travis CI“ serveris yra priglobtas debesyje. Tai leidžia išbandyti skirtingose ​​aplinkose, įvairiose mašinose, veikiančiose skirtingose ​​operacinėse sistemose.

Travis CI yra nemokama atviro kodo projektams. Komerciniams projektams reikia įsigyti įmonės planą.

Kas yra Dženkinsas?

„Jenkins“ yra apdovanojimus pelnęs nuolatinės integracijos įrankis, stebintis diegimo ciklų vykdymą. Jis prasidėjo kaip „Sun“ programinės įrangos inžinierių grupės šalutinis projektas. Vėliau jis buvo išplėstas kaip vienas iš populiarių atvirojo kodo CI įrankių, padedančių programinės įrangos kūrimo komandoms automatizuoti jų diegimą.

„Jenkins“ yra „Java“ įrankis, o tai reiškia, kad jums reikia tik „Java Runtime Environment“. Taigi „Jenkins“ galima įdiegti bet kurioje operacinėje sistemoje, kurioje veikia „Java“.

Naudodami šį įrankį kūrėjai taip pat gali nurodyti tinkintų kūrinių sąlygas. „Jenkins“ palaiko didžiulį papildinių archyvą. Tai leidžia kūrėjams pakeisti „Jenkin“ išvaizdą ir veikimą.

Be to, „Jenkins Pipeline“ papildinių rinkinyje yra specialių įrankių, leidžiančių kūrėjams modeliuoti lengvai sudėtingus pristatymo vamzdynus naudojant DSL (skaitmeninės prenumeratos linijos) metodą.

Ką veikia Travisas?

„Travis CI“ siūlo šiuos privalumus:

  • Galite stebėti „GitHub“ projektus
  • Vykdo testavimą ir greitai sukuria rezultatus. Galimas lygiagretus bandymų vykdymas.
  • Sukurkite artefaktus ir patikrinkite kodo kokybę
  • Lengvas diegimas į debesies paslaugas
  • Jis gali nustatyti mažus ir didelius kodo pakeitimus.
  • Kūrėjai gali naudoti „Travis CI“, kad galėtų stebėti testus, kai jie veikia.
  • Įrankis integruojamas su „Slack“, „HipChat“, el.

Ką veikia Jenkinas?

„Jenkins“ leidžia automatizuoti kūrimo, testavimo ir diegimo užduotis. Įrankis palaiko įvairias OS, tokias kaip „Windows“, „Mac OSX“ ir „Linux“ sistemos.

Be to, „Jenkins“ suteikia jums galimybę greitai sukurti ir išbandyti kodą, kad gautumėte ankstyvą atsiliepimą apie tai, ar jis paruoštas gamybai, ar ne. Daugeliu atvejų „Jenkin“ reikės kelių pakeitimų, atsižvelgiant į jūsų komandos pasirinktinius reikalavimus.

„Travis CI“ savybės:

  • Automatinė integracija su „GitHub“
  • Prieiga prie saugyklos norint sukurti ištraukimo užklausas
  • Palaikoma 21 kalba, pvz., „Android“, C, C#, C ++, „Java“, „JavaScript“ (su „Node.js“), „Perl“, PHP, „Python“, R, Ruby ir kt.
  • Iš anksto įdiegti kūrimo ir bandymo įrankiai
  • Galimos paslaugos - duomenų bazės, pranešimų eilės ir kt.
  • Diegimas į kelias debesies paslaugas
  • Šifruoti saugius aplinkos kintamuosius ar failus
  • Virtualios mašinos buvo atkurtos po kiekvieno kūrimo
  • CLI klientas ir API scenarijams
  • Komplektuojamas su nemokamu priegloba debesyje, kuriai nereikia priežiūros ar administravimo.

„Jenkin“ savybės:

  • Lengva įdiegti, atnaujinti ir konfigūruoti
  • Paskirstytos versijos
  • Išorinių darbų stebėjimas
  • Daugiau nei 600 papildinių, skirtų Jenkins aplinkai pritaikyti
  • Daugiau nei 1000 viešųjų „Github“ saugyklų, daugiau nei 500 bendraautorių, aktyviai įsipareigoja
  • Įvairių autentifikavimo metodų, versijų valdymo sistemų, pranešimų ir kt.
  • „Jenkins“ teikia nuotolinės prieigos API ir jos funkcijas.
  • Pateikite galingą CI/CD įrankį dideliems projektams
  • Jis palaiko įvairius darbo modelius, tokius kaip „Freestyle“, „Pipeline“ ir kt.
  • Leidžia kūrėjams pridėti plėtinių
  • Suderinamas su „Docker“, „Libvirt“, „Kubernetes“ ir daugeliu kitų programų

Travisas prieš Jenkinsą

Parametras Jenkin Travisas
Kaina Jenkins nemokamai. Tačiau kūrėjų komanda turi paleisti ir prižiūrėti savo serverį. Tai galima laikyti papildomomis išlaidomis.„Travis CI“ verslo apartamentai prasideda nuo 129 USD per mėnesį. Kainų padidėjimas, atsižvelgiant į jums reikalingos paramos lygį.
Nustatykite laiką Jenkinsui reikia sudėtingos sąrankos. Taigi turėsite labai ilgai laukti, kol bus baigtas diegimas.Pradėti reikia labai mažai laiko. Sukurkite konfigūracijos failą ir pradėkite integruoti.
Spektaklis Jei ieškote CI įrankio su neribotomis tinkinimo galimybėmis, tada „Jenkins“ yra geriausias pasirinkimas.„Travis CI“ yra geriausias pasirinkimas, jei dirbate atvirojo kodo projekte.
Įrankio tipas Tai yra atviro kodo įrankis, kurį galima naudoti nemokamai.Tai komercinis CI įrankis
Naudojimas Paprasta naudotiLankstus naudoti
„Github“ Gerai „Github“Puikiai tinka „Github“
Palaikymas Platus bendruomenės palaikymas.Ribota parama bendruomenei.
Argumentai 'už'
  • Tinkinimas yra didžiausias „Jenkins CI“ serverio pranašumas
  • Platus papildinių archyvas gali būti sukonfigūruotas taip, kad pakeistų „Jenkins“ išvaizdą.
  • Taip pat galite pridėti naujų funkcijų, tokių kaip autentifikavimas, įspėjimai ir prisijungimo duomenys.
  • Integracija su „GitHub“ ir „debesimi“
  • Neribotas atviro kodo projektas su visomis funkcijomis
  • Platus projekto konfigūravimas per .travis.ymi failą
  • Leidžia atlikti grupių bandymus ir juos vykdyti lygiagrečiai
  • Kelios kūrimo aplinkos ir tikslinės platformos (t. Y. Mazgas 0.10,0.8,0.6, Li on).
Minusai
  • Vienas iš pagrindinių „Jenkins“ trūkumų, susijusių su nuolatine integracija, yra tai, kad jis yra labai konfigūruojamas. Nėra tiesioginės sąrankos. Štai kodėl gali užtrukti nuo dviejų iki trijų valandų iki dienų, kol viskas bus sukonfigūruota sistemoje.
  • Didžiausias „Travis CI“ diegimo trūkumas yra tas, kad jo komerciniai planai prasideda nuo 129 USD/m, o tai yra gana brangu.
  • Netinka didelio saugumo projektams
  • Skirtingai nuo kitų CI įrankių, jis nesiūlo „Bitbucket“ palaikymo.
Naudojimo planai LaisvasNemokama atviro kodo projektams. Tačiau mokama verslui.
Serverio mašina Serverio pagrinduDebesų pagrindu
Tinkinimo parinktys DaugiauMažiau
Konfigūracija Visiškai pritaikomasYAML
Sistemos valdymas PilnasLabai mažiau

Populiarumo indeksas

Klausimų skaičius pažymėtas Jenkins ir Travis „Stack Overflow“.

Kuris geresnis?

Taigi, kalbėdami aukščiau, galime įsitikinti, kad Travis ir Jenkins siūlo nuostabias funkcijas. Tačiau nedideli atviro kodo projektai geriausiai tinka „Travis CI“, nes jį lengva paleisti ir greitai nustatyti. Kita vertus, didelė įmonė labiausiai tinka „Jenkins“, nes siūlo nemokamą privataus projekto licencijavimą ir daugybę pritaikomų funkcijų. Taigi galime pasakyti, kad abi šios nuolatinės integracijos priemonės yra tinkamos.