Jenkins vs Travis-CI: Mikä on ero?

Sisällysluettelo:

Anonim

Mikä on CI?

Jatkuva integraatio on ohjelmistokehitysmenetelmä, jossa tiimin jäsenet voivat integroida työnsä vähintään kerran päivässä. Tässä menetelmässä jokainen integraatio tarkistetaan automaattisella koontiversiolla virheen etsimiseksi. CI-konsepti otettiin ensimmäisen kerran käyttöön yli kaksi vuosikymmentä sitten välttääkseen "integraatiohelvetti", joka tapahtuu, kun integraatiota lykätään projektin loppuun asti.

Tässä opetusohjelmassa opit

  • Mikä on CI?
  • Mikä on Travis CI?
  • Mikä on Jenkins?
  • Mitä Travis tekee?
  • Mitä Jenkin teki?
  • Travis CI: n ominaisuudet:
  • Jenkin ominaisuudet:
  • Travis vs. Jenkins
  • Suosioindeksi
  • Kumpi on parempi?

Kuinka CI toimii?

  • Kehittäjät kirjoittavat koodin ja tekevät muutoksia jaettuun arkistoon
  • Sen jälkeen CI-palvelin valvoo arkistoa ja arvioi kaikki muutokset
  • CI rakentaa järjestelmän ja suorittaa integrointi- ja yksikötestit
  • Palvelin julkaisee käyttöönotettavia artefakteja
  • Jatkuva integraatiopalvelin määrittää versiolle ja rakennuskoodille koontitunnisteen
  • Sitten CI-palvelin raportoi tiimille onnistuneesta koontiversiosta. Jos testit epäonnistuvat, palvelin ilmoittaa tapahtumasta kehitystiimille. Tiimi korjaa ongelmat mahdollisimman nopeasti.

TÄRKEÄ ERO

  • Travis CI on kaupallinen CI-työkalu, kun taas Jenkins on avoimen lähdekoodin työkalu.
  • Travis CI: n käyttöönotto vie vähemmän aikaa, kun Jenkins tarvitsee tarkan asennuksen.
  • Travis CI tarjoaa vähemmän räätälöintivaihtoehtoja, kun taas Jenkins tarjoaa laajat mukautusvaihtoehdot.
  • Travis CI: llä on YAML-määritystiedosto, kun taas Jenkins tarjoaa täydellisen määritysvaihtoehdon käyttäjälle.

Mikä on Travis CI?

Travis CI oli ensimmäinen CI palvelutyökaluna. Siinä otettiin käyttöön uusi lähestymistapa rakennusohjeisiin pilvessä. Tämän CI-työkalun avulla käyttäjä voi rekisteröityä, linkittää arkiston, rakentaa sekä testata sovelluksiaan.

Travis CI -työkalu voi helposti integroida yleisiin pilvivarastoihin, kuten GitHub ja Bitbucket. Se tarjoaa monia automatisoituja CI-vaihtoehtoja, jotka vähentävät erillisen palvelimen tarvetta, kun Travis CI -palvelinta isännöidään pilvessä. Tämän avulla voit testata eri ympäristöissä, erilaisissa koneissa ja eri käyttöjärjestelmissä.

Travis CI on ilmainen avoimen lähdekoodin projekteille. Kaupallisia hankkeita varten sinun on ostettava yrityssuunnitelma.

Mikä on Jenkins?

Jenkins on palkittu jatkuva integrointityökalu, joka valvoo käyttöönottosyklien toteutuksia. Se alkoi Sunin ohjelmistosuunnittelijaryhmän sivuprojektina. Myöhemmin sitä laajennettiin yhtenä suosituista avoimen lähdekoodin CI-työkaluista, jotka auttavat ohjelmistokehitystiimejä automatisoimaan käyttöönoton.

Jenkins on Java-pohjainen työkalu, mikä tarkoittaa, että sen käyttämiseen tarvitaan vain Java Runtime Environment. Jenkins voidaan siis asentaa mihin tahansa käyttöjärjestelmään, jossa Java toimii.

Tässä työkalussa kehittäjät voivat myös määrittää ehdot mukautetuille koontiversioille. Jenkins tukee massiivista laajennusarkistoa. Tämä antaa kehittäjille mahdollisuuden muuttaa Jenkinin ulkonäköä ja toimintaa.

Lisäksi Jenkins Pipeline -laajennussarjassa on erikoistyökaluja, joiden avulla kehittäjät voivat mallintaa helposti monimutkaisia ​​jakeluputkia DSL (Digital Subscribe line) -menetelmällä.

Mitä Travis tekee?

Travis CI tarjoaa seuraavat edut:

  • Voit seurata GitHub-projekteja
  • Suorittaa Testaa ja luo tuloksia nopeasti. Rinnakkainen testin suorittaminen on mahdollista.
  • Rakenna esineitä ja tarkista koodin laatu
  • Helppo käyttöönotto pilvipalveluihin
  • Se tunnistaa sekä pienet että suuret koodimuutokset.
  • Kehittäjät voivat käyttää Travis CI: tä katsomaan testejä, kun ne ovat käynnissä.
  • Työkalu integroituu Slack-, HipChat-, Email- jne.

Mitä Jenkin tekee?

Jenkinsin avulla voit automatisoida rakennus-, testaus- ja käyttöönottotehtävät. Työkalu tukee eri käyttöjärjestelmiä, kuten Windows, Mac OSX ja Linux.

Lisäksi Jenkins antaa sinulle mahdollisuuden rakentaa ja testata koodisi nopeasti, jotta saat varhaisen palautteen siitä, onko se valmis tuotantoon vai ei. Useimmissa tapauksissa Jenkin vaatii muutamia muutoksia tiimisi mukautettujen vaatimusten mukaan.

Travis CI: n ominaisuudet:

  • Automaattinen integrointi GitHubin kanssa
  • Varaston käyttöoikeus vetopyyntöjen luomiseen
  • Tuki 21 kielelle, kuten Android, C, C #, C ++, Java, JavaScript (Node.js: n kanssa), Perl, PHP, Python, R, Ruby jne.
  • Esiasennetut rakennus- ja testaustyökalut
  • Käytettävissä olevat palvelut - tietokannat, viestijonot jne.
  • Käyttöönotto useisiin pilvipalveluihin
  • Salaa suojatun ympäristön muuttujat tai tiedostot
  • Virtuaalikoneet, jotka on luotu uudelleen jokaisen rakennuksen jälkeen
  • CLI-asiakasohjelma ja ohjelmointirajapinta
  • Mukana ilmainen pilvipohjainen isännöinti, joka ei vaadi ylläpitoa tai ylläpitoa.

Jenkin ominaisuudet:

  • Helppo asentaa, päivittää ja konfiguroida
  • Hajautetut koontiversiot
  • Ulkoisten työpaikkojen seuranta
  • Yli 600 laajennusta Jenkins-ympäristön mukauttamiseen
  • Yli 1000+ julkista arkistoa Githubissa, yli 500 avustajaa, vahvaa sitoutumista
  • Tuki erilaisille todennusmenetelmille, versionhallintajärjestelmille, ilmoituksille jne.
  • Jenkins tarjoaa etäkäyttöliittymän ja sen toiminnot.
  • Tarjoa tehokas CI / CD-työkalu suurille projekteille
  • Se tukee erilaisia ​​työmalleja, kuten Freestyle, Pipeline jne.
  • Antaa kehittäjien lisätä laajennuksiaan
  • Yhteensopiva Docker, Libvirt, Kubernetes ja monien muiden ohjelmien kanssa

Travis vs. Jenkins

Parametri Jenkin Travis
Kustannus Jenkins on ilmainen. Kehitystiimin on kuitenkin käytettävä erillistä palvelinta ja ylläpidettävä sitä. Tätä voidaan pitää ylimääräisenä kustannuksena. Travis CI -yrityssviitit alkavat 129 dollaria kuukaudessa. Kustannusten nousu riippuen tarvitsemastasi tuesta.
Asennusaika Jenkins tarvitsee tarkan asennuksen. Joten sinulla on erittäin pitkä odotusaika koko asennukseen. Aloittaminen vie hyvin vähän aikaa. Luo asetustiedosto ja aloita integrointi.
Esitys Jos etsit CI-työkalua, jolla on rajoittamattomat mukautusvaihtoehdot, Jenkins on paras valinta sinulle. Travis CI on paras valinta, jos työskentelet avoimen lähdekoodin projektissa.
Työkalun tyyppi Se on avoimen lähdekoodin ilmainen työkalun käyttö. Se on kaupallinen CI-työkalu
Käyttö Helppokäyttöinen Joustava käyttää
Github Hyvä Githubille Erinomainen Githubille
Tuki Laaja tuki yhteisöltä. Rajoitettu tuki yhteisölle.
Plussat
  • Mukauttaminen on Jenkins CI -palvelimen suurin etu
  • Laaja laajennusarkisto voidaan määrittää muuttamaan Jenkinsin ulkoasua.
  • Voit myös lisätä uusia toimintoja, kuten todennuksen, hälytykset ja kirjautumistiedot.
  • Integrointi GitHubiin ja pilveen
  • Rajoittamattomat avoimen lähdekoodin projektit kaikilla toiminnoilla
  • Laaja projektikonfiguraatio .travis.ymi-tiedoston kautta
  • Sallii klusteritestit ja suorittaa ne rinnakkain
  • Useita rakennusympäristöjä ja kohdealustoja (eli solmu 0.10,0.8,0.6, Li päällä).
Haittoja
  • Yksi Jenkinsin merkittävä haitta jatkuvassa integraatiossa on, että se on erittäin konfiguroitavissa. Ei ole valmiita asennuksia. Siksi voi kestää 2-3 tuntia päiviin, ennen kuin kaikki määritetään järjestelmässä.
  • Travis CI: n asennuksen suurimmat haitat ovat, että sen kaupalliset suunnitelmat alkavat 129 dollaria / m, mikä on melko kallista.
  • Ei sovellu erittäin turvallisiin projekteihin
  • Toisin kuin muut CI-työkalut, se ei tarjoa Bitbucket-tukea.
Käyttösuunnitelmat Vapaa Ilmainen avoimen lähdekoodin projekteille. Kuitenkin maksettu yritystoiminnasta.
Palvelinkone Palvelinpohjainen Pilvipohjainen
Mukautusvaihtoehdot Lisää Vähemmän
Kokoonpano Täysin muokattavissa YAML
Järjestelmän hallinta Koko Hyvin vähemmän

Suosioindeksi

Jenkins ja Travis merkittyjen kysymysten määrä pinon ylivuotossa.

Kumpi on parempi?

Siten yllä olevassa keskustelussa voimme todeta, että Travis ja Jenkins tarjoavat molemmat upeita ominaisuuksia. Pienet avoimen lähdekoodin projektit soveltuvat kuitenkin parhaiten Travis CI: lle, koska ne on helppo suorittaa ja nopeasti asentaa. Toisaalta suuri yritys sopii parhaiten Jenkinsille, koska se tarjoaa ilmaisen lisensoinnin yksityiselle projektille ja laajan valikoiman mukautettavia ominaisuuksia. Joten voimme sanoa, että nämä molemmat jatkuvan integroinnin työkalut ovat hyviä omalla tavallaan.