Mis on CI?
Pidev integreerimine on tarkvaraarendusmeetod, kus meeskonna liikmed saavad oma tööd integreerida vähemalt üks kord päevas. Selles meetodis kontrollib vea otsimiseks kõiki integreerimisi automatiseeritud ehitis. Elutähtsate infrastruktuuride kontseptsioon võeti esmakordselt kasutusele üle kahe aastakümne tagasi, et vältida "integratsioonipõrgu", mis juhtub siis, kui integratsioon lükatakse projekti lõpuni edasi.
Selles õpetuses saate teada
- Mis on CI?
- Mis on Travis CI?
- Mis on Jenkins?
- Mida Travis teeb?
- Mida Jenkin tegi?
- Travis CI funktsioonid:
- Jenkin funktsioonid:
- Travis vs Jenkins
- Populaarsusindeks
- Mis on parem?
Kuidas CI töötab?
- Arendajad kirjutavad koodi ja teevad muudatused jagatud hoidlas
- Pärast seda jälgib CI-server hoidlat ja hindab kõiki muudatusi
- CI ehitab süsteemi ning viib läbi integreerimise ja üksustestid
- Server vabastab juurutatavad artefaktid
- Integreerimise server Continous määrab versioonile ja ehituskoodile ehituskoodi
- Seejärel annab CI-server meeskonnale teada eduka ülesehituse kohta. Kui testid ebaõnnestuvad, annab server sündmuse kohta arendusmeeskonnale märku. Meeskond lahendab probleemid nii kiiresti kui võimalik.
PÕHISED erinevused
- Travis CI on kommertsiaalne CI-tööriist, samas kui Jenkins on avatud lähtekoodiga tööriist.
- Travis CI võtab alustamiseks palju vähem aega, samal ajal kui Jenkins vajab keerukat seadistamist.
- Travis CI pakub vähem kohandamisvõimalusi, samas kui Jenkins pakub ulatuslikke kohandamisvõimalusi.
- Travis CI-l on YAML-i konfiguratsioonifail, samas kui Jenkins pakub kasutajale täieliku konfiguratsioonivõimaluse.
Mis on Travis CI?
Travis CI oli esimene CI kui teenuse tööriist. Sellega tutvustati uut lähenemisviisi ehituskoodidele pilves. See CI-tööriist võimaldab kasutajal registreeruda, oma hoidlat linkida, ehitada ja oma rakendusi testida.
Travis CI tööriistaga saab hõlpsasti integreeruda tavaliste pilvehoidlatega nagu GitHub ja Bitbucket. See pakub palju automatiseeritud CI-võimalusi, mis vähendavad vajadust spetsiaalse serveri järele, kuna Travise CI-server on pilves hostitud. See võimaldab teil testida erinevates keskkondades, erinevates masinates, töötades erinevates operatsioonisüsteemides.
Travis CI on avatud lähtekoodiga projektide jaoks tasuta. Äriprojektide jaoks peate ostma ettevõtte plaani.
Mis on Jenkins?
Jenkins on auhinnatud pidev integreerimisvahend, mis jälgib juurutamistsüklite teostusi. See sai alguse Suni tarkvarainseneride rühma kõrvalprojektist. Hiljem laiendati seda ühe populaarse avatud lähtekoodiga CI-tööriistana, mis aitab tarkvaraarendusmeeskondadel nende juurutamist automatiseerida.
Jenkins on Java-põhine tööriist, mis tähendab, et selle kasutamiseks on vaja ainult Java Runtime Environment'i. Seega saab Jenkinsi installida igasse operatsioonisüsteemi, kus Java töötab.
Selles tööriistas saavad arendajad määrata ka kohandatud järkude tingimused. Jenkins toetab tohutut pistikprogrammide arhiivi. See võimaldab arendajatel muuta Jenkin välimust ja toimimist.
Pealegi on Jenkins Pipeline'i pistikprogrammide komplektiga kaasas spetsiaalsed tööriistad, mis võimaldavad arendajatel modelleerida hõlpsasti keerukaid tarnetorustikke, kasutades DSL (Digital Subscribe line) meetodit.
Mida Travis teeb?
Travis CI pakub järgmisi eeliseid:
- Saate jälgida GitHubi projekte
- Käivitab testi ja genereerib tulemusi kiiresti. Paralleelne testi täitmine on võimalik.
- Tehke artefakte ja kontrollige koodi kvaliteeti
- Lihtne juurutada pilveteenustesse
- See suudab tuvastada nii väikseid kui ka suuri koodimuudatusi.
- Arendajad saavad Travis CI-d kasutada testide jälgimiseks nende töötamise ajal.
- Tööriist integreerub Slacki, HipChati, Emailiga jne.
Mida Jenkin teeb?
Jenkins võimaldab teil ülesandeid automatiseerida, testida ja juurutada. Tööriist pakub tuge erinevatele operatsioonisüsteemidele nagu Windows, Mac OSX ja Linux.
Veelgi enam, Jenkins annab teile võimaluse oma koodi kiiresti üles ehitada ja testida, et saada varakult tagasisidet selle kohta, kas see on tootmiseks valmis või mitte. Enamikul juhtudel vajab Jenkin teie meeskonna kohandatud nõuete järgi vähe muudatusi.
Travis CI funktsioonid:
- Automaatne integreerimine GitHubiga
- Hoidla juurdepääs tõmbetaotluste loomiseks
- Toetus 21 keelele, nagu Android, C, C #, C ++, Java, JavaScript (koos Node.js-iga), Perl, PHP, Python, R, Ruby jne
- Eelinstallitud ehitus- ja testimisvahendid
- Saadaval olevad teenused - andmebaasid, sõnumijärjekorrad jne.
- Mitme pilveteenuse juurutamine
- Krüpteerige turvalise keskkonna muutujad või failid
- Virtuaalmasinad, mis on iga ehituse järel uuesti loodud
- CLI klient ja API skriptimiseks
- Kaasas tasuta pilvepõhine hostimine, mis ei vaja hooldust ega haldust.
Jenkin funktsioonid:
- Lihtne installida, uuendada ja konfigureerida
- Hajutatud järkud
- Väliste töökohtade jälgimine
- Jenkinsi keskkonna kohandamiseks on rohkem kui 600 pistikprogrammi
- Githubis on üle 1000+ avaliku hoidla, üle 500 kaastöötaja, tugev tegevus
- Erinevate autentimismeetodite, versioonikontrollisüsteemide, teavitamise jne tugi
- Jenkins pakub kaugjuurdepääsu API-d ja selle funktsioone.
- Pakkuge suurte projektide jaoks võimas CI / CD tööriist
- See toetab erinevaid töömudeleid nagu Freestyle, Pipeline jne.
- Võimaldab arendajatel lisada oma laiendusi
- Ühildub Dockeri, Libvirt, Kubernetes ja paljude teiste programmidega
Travis vs Jenkins
Parameeter | Jenkin | Travis |
---|---|---|
Maksumus | Jenkins on vaba. Kuid arendusmeeskond peab oma spetsiaalset serverit käitama ja seda hooldama. Seda võiks pidada lisakuluks. | Travis CI ettevõtte sviidid algavad 129 dollarist kuus. Kulude kasv sõltuvalt teie toetuse tasemest. |
Aja seadistamine | Jenkins vajab keerukat seadistamist. Nii et teil on kogu installimise jaoks väga pikk ooteaeg. | Alustamiseks kulub väga vähem aega. Looge konfiguratsioonifail ja alustage integreerimist. |
Performance | Kui otsite piiramatute kohandamisvõimalustega CI-tööriista, on Jenkins teie jaoks parim valik. | Travis CI on parim valik, kui töötate avatud lähtekoodiga projektis. |
Tööriista tüüp | See on avatud lähtekoodiga tööriista tasuta kasutamine. | See on kaubanduslik CI-tööriist |
Kasutamine | Lihtne kasutada | Paindlik kasutada |
Github | Hea Githubile | Suurepärane Githubi jaoks |
Toetus | Kogukonna ulatuslik tugi. | Piiratud tugi kogukonnale. |
Plussid |
|
|
Miinused |
|
|
Kasutusplaanid | Tasuta | Tasuta avatud lähtekoodiga projektide jaoks. Ent ettevõtluse eest makstud. |
Server Machine | Serveripõhine | Pilvepõhine |
Kohandamisvalikud | Veel | Vähem |
Konfiguratsioon | Täielikult kohandatav | YAML |
Süsteemi juhtimine | Täis | Väga vähem |
Populaarsusindeks
Küsimuste arv sildiga Jenkins ja Travis in Stack Overflow.
Mis on parem?
Seega võime ülaltoodud aruteluga mõista, et Travis ja Jenkins pakuvad mõlemad suurepäraseid omadusi. Travis CI jaoks sobivad aga kõige paremini väikesed avatud lähtekoodiga projektid, kuna neid on lihtne käivitada ja kiiresti seadistada. Teisalt sobib Jenkinsile kõige paremini suurettevõte, kuna see pakub eraprojektile tasuta litsentsimist ja laia valikut kohandatavaid funktsioone. Nii võime öelda, et mõlemad need pideva integratsiooni tööriistad on omal moel head.