Kas ir CI?
Nepārtraukta integrācija ir programmatūras izstrādes metode, kurā komandas locekļi var integrēt savu darbu vismaz vienu reizi dienā. Šajā metodē katru integrāciju pārbauda automatizēts veidojums, lai meklētu kļūdu. KI koncepcija pirmo reizi tika ieviesta pirms vairāk nekā divām desmitgadēm, lai izvairītos no "integrācijas elles", kas notiek, kad integrācija tiek atlikta līdz projekta beigām.
Šajā apmācībā jūs uzzināsiet
- Kas ir CI?
- Kas ir Travis CI?
- Kas ir Dženkinss?
- Ko dara Treviss?
- Ko darīja Dženkins?
- Travis CI funkcijas:
- Jenkin funkcijas:
- Treviss pret Dženkinsu
- Popularitātes indekss
- Kurš ir labāks?
Kā darbojas KI?
- Izstrādātāji raksta kodu un veic izmaiņas koplietojamā krātuvē
- Pēc tam KI serveris uzrauga krātuvi un novērtē visas izmaiņas
- KI izveido sistēmu un veic integrāciju un vienību testus
- Serveris izlaiž izvietojamos artefaktus
- Integrācijas serveris Continous piešķir versijai un būves kodam tagu
- Tad KI serveris ziņo komandai par veiksmīgu izveidi. Ja testi neizdodas, serveris brīdina izstrādes komandu par notikumu. Komanda problēmas novērsīs pēc iespējas ātrāk.
GALVENĀS ATŠĶIRĪBAS
- Travis CI ir komerciāls CI rīks, savukārt Jenkins ir atvērtā koda rīks.
- Travis CI sākšanai nepieciešams ļoti maz laika, kamēr Dženkinsam nepieciešama detalizēta iestatīšana.
- Travis CI piedāvā mazāk pielāgošanas iespēju, savukārt Jenkins piedāvā plašas pielāgošanas iespējas.
- Travis CI ir YAML konfigurācijas fails, savukārt Jenkins nodrošina pilnu konfigurācijas opciju lietotājam.
Kas ir Travis CI?
Travis CI bija pirmais CI kā servisa rīks. Tas ieviesa jaunu pieeju būvnormatīviem mākonī. Šis CI rīks ļauj lietotājam reģistrēties, saistīt savu krātuvi, veidot, kā arī pārbaudīt savas lietotnes.
Travis CI rīku var viegli integrēt ar parastajām mākoņu krātuvēm, piemēram, GitHub un Bitbucket. Tas piedāvā daudzas automatizētas CI iespējas, kas izslēdz nepieciešamību pēc īpaša servera, jo Travis CI serveris tiek mitināts mākonī. Tas ļauj testēt dažādās vidēs, dažādās mašīnās, darbojoties dažādās operētājsistēmās.
Travis CI ir bezmaksas atvērtā pirmkoda projektiem. Komerciālu projektu gadījumā jums jāiegādājas uzņēmuma plāns.
Kas ir Dženkinss?
Jenkins ir godalgots nepārtrauktas integrācijas rīks, kas uzrauga izvietošanas ciklu izpildi. Tas sākās kā Sun programmatūras inženieru grupas blakusprojekts. Vēlāk tas tika paplašināts kā viens no populārajiem atvērtā koda CI rīkiem, kas programmatūras izstrādes komandām palīdz automatizēt izvietošanu.
Jenkins ir Java balstīts rīks, kas nozīmē, ka tā darbībai nepieciešama tikai Java izpildlaika vide. Tādējādi Jenkins var instalēt jebkurā operētājsistēmā, kurā darbojas Java.
Šajā rīkā izstrādātāji var arī norādīt nosacījumus pielāgotām būvēm. Jenkins atbalsta masveida spraudņu arhīvu. Tas ļauj izstrādātājiem mainīt Dženkina izskatu un darbību.
Turklāt spraudņu komplekts Jenkins Pipeline ir aprīkots ar īpašiem rīkiem, kas ļauj izstrādātājiem modelēt viegli sarežģītus piegādes cauruļvadus, izmantojot DSL (Digital Subscribe line) metodi.
Ko dara Treviss?
Travis CI piedāvā šādas priekšrocības:
- Jūs varat pārraudzīt GitHub projektus
- Darbojas Pārbaudiet un ātri ģenerējiet rezultātus. Iespējama paralēla testa izpilde.
- Veidojiet artefaktus un pārbaudiet koda kvalitāti
- Viegla izvietošana mākoņpakalpojumos
- Tas var identificēt gan nelielas, gan lielas koda izmaiņas.
- Izstrādātāji var izmantot Travis CI, lai skatītos testus, kad tie darbojas.
- Rīks integrējas ar Slack, HipChat, Email utt.
Ko dara Dženkins?
Jenkins ļauj automatizēt būvēšanu, testēšanu un izvietošanu. Šis rīks nodrošina atbalstu dažādām OS, piemēram, Windows, Mac OSX un Linux sistēmām.
Turklāt Jenkins dod jums iespēju ātri izveidot un pārbaudīt kodu, lai savlaicīgi saņemtu atsauksmes par to, vai tas ir gatavs ražošanai. Vairumā gadījumu Jenkinam būs nepieciešamas dažas modifikācijas atbilstoši jūsu komandas pielāgotajām prasībām.
Travis CI funkcijas:
- Automātiska integrācija ar GitHub
- Piekļuve repozitorijam, lai izveidotu pieprasījumus
- Atbalsts 21 valodai, piemēram, Android, C, C #, C ++, Java, JavaScript (ar Node.js), Perl, PHP, Python, R, Ruby utt.
- Iepriekš instalēti būvēšanas un testēšanas rīki
- Pieejamie pakalpojumi - datu bāzes, ziņojumu rindas utt.
- Izvietošana vairākos mākoņpakalpojumos
- Šifrēt drošas vides mainīgos vai failus
- Virtuālās mašīnas, kas atjaunotas pēc katras būvēšanas
- CLI klients un skriptu API
- Nāk ar bezmaksas mākoņdatošanas mitināšanu, kam nav nepieciešama apkope vai administrēšana.
Jenkin funkcijas:
- Viegli uzstādīt, uzlabot un konfigurēt
- Izplatīti būvējumi
- Ārējo darbu uzraudzība
- Vairāk nekā 600 spraudņi, lai pielāgotu Jenkins vidi
- Vairāk nekā 1000+ publiskas Github krātuves, 500+ līdzautori, spēcīga apņemšanās
- Atbalsts dažādām autentifikācijas metodēm, versiju kontroles sistēmām, paziņojumiem utt.
- Jenkins nodrošina attālās piekļuves API un tā funkcijas.
- Nodrošiniet jaudīgu CI / CD rīku lieliem projektiem
- Tas atbalsta dažādus darba modeļus, piemēram, Freestyle, Pipeline utt.
- Ļauj izstrādātājiem pievienot savus paplašinājumus
- Savietojams ar Docker, Libvirt, Kubernetes un daudzām citām programmām
Treviss pret Dženkinsu
Parametrs | Dženkins | Treviss |
---|---|---|
Izmaksas | Dženkinss ir bez maksas. Bet izstrādes komandai ir jāuztur un jāuztur īpašais serveris. To varētu uzskatīt par papildu izdevumiem. | Travis CI uzņēmuma komplektu cena ir no 129 USD mēnesī. Izmaksu pieaugums, pamatojoties uz nepieciešamo atbalsta līmeni. |
Iestatiet laiku | Jenkinsam nepieciešama detalizēta iestatīšana. Tāpēc jums būs jāgaida ļoti ilgs laiks, līdz pabeigta instalēšana. | Lai sāktu, nepieciešams ļoti mazāk laika. Izveidojiet konfigurācijas failu un sāciet integrēt. |
Izrāde | Ja jūs meklējat CI rīku ar neierobežotām pielāgošanas iespējām, tad Jenkins ir labākā izvēle jums. | Travis CI ir labākā izvēle, ja strādājat atvērtā koda projektā. |
Rīka tips | Tas ir atvērtā koda rīka bezmaksas izmantošana. | Tas ir komerciāls CI rīks |
Lietošana | Viegli izmantot | Elastīgi lietojams |
Džitūbs | Labi Gitubam | Lieliski piemērots Github |
Atbalsts | Plašs sabiedrības atbalsts. | Ierobežots atbalsts kopienai. |
Plusi |
|
|
Cons |
|
|
Lietošanas plāni | Bezmaksas | Bezmaksas atvērtā pirmkoda projektiem. Tomēr samaksāts par uzņēmējdarbību. |
Servera mašīna | Uz servera bāzes | Mākoņa bāzes |
Pielāgošanas opcijas | Vairāk | Mazāk |
Konfigurācija | Pilnībā pielāgojams | YAML |
Sistēmas kontrole | Pilns | Ļoti mazāk |
Popularitātes indekss
Jautiņu un Trevisu apzīmēto jautājumu skaits kaudzes pārpildē.
Kurš ir labāks?
Tādējādi ar iepriekšminēto diskusiju mēs varam uzzināt, ka Treviss un Dženkinss piedāvā brīnišķīgas funkcijas. Tomēr nelieli atvērtā koda projekti ir vislabāk piemēroti Travis CI, jo to ir viegli vadīt un ātri iestatīt. No otras puses, liels uzņēmums ir vislabāk piemērots Jenkins, jo tas piedāvā bezmaksas licencēšanu privātam projektam un plašu pielāgojamu funkciju klāstu. Tātad, mēs varam teikt, ka abi šie nepārtrauktās integrācijas rīki ir savā ziņā labi.