Kaj je CI?
Neprekinjena integracija je metoda razvoja programske opreme, pri kateri lahko člani ekipe vsaj enkrat na dan vključijo svoje delo. Pri tej metodi vsako integracijo preveri samodejna gradnja za iskanje napake. Koncept CI je bil prvič predstavljen pred dvema desetletjema, da bi se izognili "integracijskemu peklu", kar se zgodi, ko integracijo odložimo do konca projekta.
V tej vadnici boste izvedeli
- Kaj je CI?
- Kaj je Travis CI?
- Kaj je Jenkins?
- Kaj počne Travis?
- Kaj je storil Jenkin?
- Značilnosti Travis CI:
- Jenkin Lastnosti:
- Travis proti Jenkinsu
- Indeks priljubljenosti
- Kateri je boljši?
Kako deluje CI?
- Razvijalci napišejo kodo in objavijo spremembe v skupnem repozitoriju
- Po tem strežnik CI nadzira skladišče in oceni vse spremembe
- CI gradi sistem in izvaja integracijske in enotne teste
- Strežnik sprosti postavljive artefakte
- Strežnik za neprekinjeno integracijo različici in gradbeni kodi dodeli oznako gradnje
- Nato strežnik CI ekipi poroča o uspešni gradnji. Če testi ne uspejo, strežnik o dogodku opozori razvojno skupino. Ekipa bo težave odpravila čim hitreje.
KLJUČNA RAZLIKA
- Travis CI je komercialno orodje CI, medtem ko je Jenkins odprtokodno orodje.
- Travis CI potrebuje zelo malo časa, da začne, medtem ko Jenkins potrebuje dodelano nastavitev.
- Travis CI ponuja manj možnosti prilagajanja, medtem ko Jenkins ponuja široke možnosti prilagajanja.
- Travis CI ima konfiguracijsko datoteko YAML, medtem ko Jenkins uporabniku ponuja popolno možnost konfiguracije.
Kaj je Travis CI?
Travis CI je bil prvi CI kot orodje za storitve. Predstavil je nov pristop k gradnji kode v oblaku. To orodje CI omogoča uporabniku, da se prijavi, poveže svoje skladišče, gradi in preizkuša svoje aplikacije.
Orodje Travis CI se lahko zlahka integrira s skupnimi oblaki v oblaku, kot sta GitHub in Bitbucket. Ponuja številne avtomatizirane možnosti CI, ki izključujejo potrebo po namenskem strežniku, saj strežnik Travis CI gostuje v oblaku. To vam omogoča preskušanje v različnih okoljih, na različnih strojih in v različnih operacijskih sistemih.
Travis CI je brezplačen za odprtokodne projekte. Za komercialne projekte morate kupiti načrt podjetja.
Kaj je Jenkins?
Jenkins je večkrat nagrajeno orodje za neprekinjeno integracijo, ki spremlja izvajanje izvedbenih ciklov. Začelo se je kot stranski projekt skupine Sun's software engineers. Kasneje je bil razširjen kot eno izmed priljubljenih odprtokodnih orodij CI, ki ekipam za razvoj programske opreme pomaga avtomatizirati njihovo uvajanje.
Jenkins je orodje, ki temelji na Javi, kar pomeni, da za njegovo delovanje potrebujete samo Java Runtime Environment. Zato je Jenkins mogoče namestiti v kateri koli operacijski sistem, v katerem se izvaja Java.
V tem orodju lahko razvijalci določijo tudi pogoje za prilagojene gradnje. Jenkins podpira ogromen arhiv vtičnikov. To razvijalcem omogoča spreminjanje videza in delovanja Jenkin.
Poleg tega je nabor vtičnikov Jenkins Pipeline opremljen s posebnimi orodji, ki razvijalcem omogočajo modeliranje enostavnih dobavnih cevovodov z uporabo metode DSL (Digital Subscribe line).
Kaj počne Travis?
Travis CI ponuja naslednje ugodnosti:
- Lahko spremljate projekte GitHub
- Teče Preizkusite in hitro ustvarite rezultate. Možno je vzporedno izvajanje testa.
- Izdelajte artefakte in preverite kakovost kode
- Preprosta namestitev v oblačne storitve
- Lahko prepozna majhne in velike spremembe kode.
- Razvijalci lahko s programom Travis CI spremljajo teste med izvajanjem.
- Orodje se integrira s Slack, HipChat, Email itd.
Kaj počne Jenkin?
Jenkins vam omogoča avtomatizacijo vaših nalog gradnje, testiranja in uvajanja. Orodje nudi podporo za različne OS, kot so Windows, Mac OSX in Linux sistemi.
Poleg tega vam Jenkins omogoča hitro izdelavo in testiranje kode, da dobite zgodnje povratne informacije o tem, ali je pripravljena za proizvodnjo ali ne. V večini primerov bo Jenkin zahteval nekaj sprememb glede na zahteve po meri vaše ekipe.
Značilnosti Travis CI:
- Samodejna integracija z GitHubom
- Dostop do skladišča za gradnjo zahtev za vlečenje
- Podpora za 21 jezikov, kot so Android, C, C #, C ++, Java, JavaScript (z Node.js), Perl, PHP, Python, R, Ruby itd.
- Vnaprej nameščena orodja za izdelavo in preizkušanje
- Razpoložljive storitve - zbirke podatkov, čakalne vrste itd.
- Uvajanje v več storitev v oblaku
- Šifrirajte spremenljivke ali datoteke varnega okolja
- Navidezni stroji, ustvarjeni po vsaki gradnji
- CLI odjemalec in API za skriptiranje
- Na voljo je brezplačno gostovanje v oblaku, ki ne zahteva vzdrževanja ali administracije.
Jenkin Lastnosti:
- Enostavna namestitev, nadgradnja in konfiguracija
- Porazdeljene gradnje
- Spremljanje zunanjih delovnih mest
- Več kot 600 vtičnikov za prilagajanje vašega Jenkinsovega okolja
- Več kot 1000+ javnih skladišč na Githubu, 500+ sodelavcev, močna aktivnost prevzema
- Podpora za različne metode preverjanja pristnosti, sisteme za nadzor različic, obveščanje itd.
- Jenkins ponuja API za oddaljeni dostop in njegove funkcije.
- Zagotovite zmogljivo orodje CI / CD za velike projekte
- Podpira različne zaposlitvene modele, kot so Freestyle, Pipeline itd.,
- Razvijalcem omogoča, da dodajo svoje razširitve
- Združljiv z Dockerjem, Libvirtom, Kubernetesom in številnimi drugimi programi
Travis proti Jenkinsu
Parameter | Jenkin | Travis |
---|---|---|
Stroški | Jenkins je prost. Toda razvojna skupina mora voditi in vzdrževati svoj namenski strežnik. To bi lahko šteli za dodaten strošek. | Podjetniški apartmaji Travis CI se začnejo pri 129 USD na mesec. Povečanje stroškov glede na raven podpore, ki jo potrebujete. |
Nastavite čas | Jenkins potrebuje natančno nastavitev. Tako boste imeli zelo dolgo čakalno dobo za popolno namestitev. | Za začetek potrebujete zelo manj časa. Ustvarite konfiguracijsko datoteko in začnite z integracijo. |
Izvedba | Če iščete orodje CI z neomejenimi možnostmi prilagajanja, je Jenkins najboljša izbira za vas. | Travis CI je najboljša izbira, če delate v odprtokodnem projektu. |
Vrsta orodja | Uporaba orodja je odprtokodna. | Je komercialno orodje CI |
Uporaba | Enostaven za uporabo | Prilagodljiv za uporabo |
Github | Dobro za Github | Odlično za Github |
Podpora | Obsežna podpora skupnosti. | Omejena podpora skupnosti. |
Prednosti |
|
|
Slabosti |
|
|
Načrti uporabe | prost | Brezplačno za odprtokodne projekte. Vendar pa plačano za podjetja. |
Strežniška naprava | Na strežniku | V oblaku |
Možnosti prilagajanja | Več | Manj |
Konfiguracija | Popolnoma prilagodljiv | YAML |
Nadzor sistema | Poln | Zelo manj |
Indeks priljubljenosti
Število vprašanj, označenih kot Jenkins in Travis v Stack Overflow.
Kateri je boljši?
Tako z zgornjo razpravo lahko ugotovimo, da Travis in Jenkins ponujata čudovite funkcije. Majhni odprtokodni projekti pa so najbolj primerni za Travis CI, saj jih je enostavno zagnati in hitro nastaviti. Po drugi strani pa je veliko podjetje Jenkinsu najbolj primerno, saj ponuja brezplačno licenco za zasebni projekt in široko paleto prilagodljivih funkcij. Torej lahko rečemo, da sta si obe orodji za neprekinjeno integracijo dobri.