Programavimas

„GitHub“ ir „Bitbucket“ prieš „GitLab“: epinė kova už kūrėjų „mindshare“

Tai tokia meta samprata, kuri priverčia bakalauro studijas baigusius filosofus sakyti: „Oi!“ Šiandien programinė įranga yra tokia sudėtinga, kad turime rašyti programinę įrangą, kuri padėtų mums suprasti ir sukonstruoti programinę įrangą, kurią turime parašyti. Kodas sukuria kodą sukuria daugiau kodo ...

Kodo saugykla, pavadinta „Git“, yra visų mėgstamiausias įrankis kuriant programinę įrangą, tačiau net ir šios tvarkingos atvirojo kodo programinės įrangos nepakanka. Dauguma programuotojų ir komandos, kurioms jie priklauso, dabar yra prisirišę prie internetinių „Git“ versijų, kurios prideda daug papildomų analizės ir pateikimo sluoksnių, kad būtų galima bristi per didžiulę pelkę, kuri yra mūsų kodas.

Dabar yra trys dideli pretendentai į geriausią vietą, kur paslėpti įprastus posakius, anonimines funkcijas ir intensyvius rekursinius genialius medžio žygius: „GitHub“, „Bitbucket“ ir „GitLab“. Visi jie varžosi dėl to, kad būtų geriausia vieta saugoti savo šaltinį.

Ar vienas geresnis už kitą? Ar viena geriausių vietų jūsų komandai užgauti nuostabų jausmą? Palenkime juos vienas prieš kitą ir pažiūrėkime, kuris iš jų valdo.

„GitHub“ yra didžiausia

Galbūt todėl, kad tai buvo pirmoji didelė svetainė, kuri specializavosi talpindama „Git“ saugyklas. Galbūt taip yra dėl gerų darbų atvirojo kodo bendruomenėje. Bet kokiu atveju „GitHub“ pirmauja, jei naudojate vien tik nurodyto kodo apimties metriką. „GitHub“ reikalauja 28 milijonų vartotojų ir 85 milijonų saugyklų. „Bitbucket“ praneša apie šešis milijonus vartotojų, o „GitLab“ yra paslaptis, kuri neatsakė į klausimą.

Kai kurie mano, kad tai svarbu. Atvirojo kodo kūrėjai, mėgstantys šokinėti tarp projektų, gali naudoti vieną prisijungimo vardą ir susieti visą savo darbą. Visi gali stebėti populiariausius „GitHub“ kūrėjus, pavyzdžiui, kačių mylėtojai gali sekti geriausių „YouTube“ vaizdo įrašų apie kačių kūrėjus. Tinklo efektai, kurie, atrodo, dominuoja internete, „GitHub“ išstumia toli į priekį.

Kiti nėra tokie tikri. Taip, jiems patinka susieti savo viešąjį kodą, tačiau daugelis žmonių nenori susieti savo klientų darbo. Tai turėtų būti atskira ir nevieša. Šiame kontekste tinklo efektai nėra nieko verti.

„Bitbucket“ ir „GitLab“ yra pigesni

Visos trys paslaugos siūlo daugybę nemokamų variantų, tačiau visos uždirba pinigus apmokestindamos kūrėjus, dažniausiai profesionalus, rengiančius privačius projektus. „GitHub“ kainuoja nuo 7 USD per mėnesį vienam kūrėjui. „Bitbucket“ kaina prasideda nuo 2 USD per mėnesį, o „GitLab“ - nuo 4 USD per mėnesį.

Bet šie skaičiai yra tik apytiksliai vadovai, nes yra didelė tikimybė, kad norėsite atnaujinti. Geresnė „Bitbucket“ pakopa kainuoja 5 USD per mėnesį. „GitLab“ turi aukščiausios klasės versiją, kuri kainuoja 19 USD per mėnesį, ir jūs turite mokėti kasmet, kad gautumėte tą kainą.

Įmonėms, turinčioms didesnes komandas, beveik neabejotinai taikomos paslėptos nuolaidos, todėl jas sunku palyginti. Galite pagalvoti, kad „Git“ priegloba yra prekė, tačiau šios įmonės rado būdų, kaip pridėti tiek daug papildomų funkcijų, kad jūsų galva pradeda suktis, kai pradėsite lyginti, ką gaunate už savo pinigus.

„Bitbucket“ ir „GitLab“ leidžia neribotą kiekį privačių saugyklų

Tai, ką gauni nemokamai, yra visiškai kitaip. Tiek „Bitbucket“, tiek „GitLab“ leidžia nemokamai saugoti savo asmenines saugyklas. Mokėti pradedate tik tada, kai jūsų komanda auga ir tampa profesionalesnė. „GitHub“ nemokamai išsaugos jūsų projektus tik tuo atveju, jei esate studentas arba viešai skelbiate projektus. Tai puikiai tinka atvirojo kodo, bet ne visiems privatiems šalutiniams projektams.

Šios nemokamos pakopos gali būti gana dosnios. „Bitbucket“ leidžia mažoms komandoms iki penkių bendradarbių. „GitLab“ leidžia neribotai bendradarbiauti.

Verta paminėti, kad šios kainos ir pakopos yra skirtos debesims priglobtai versijai. Jei norite savarankiškai organizuoti, tai gali būti pigiau. Taip pat yra akademinių planų ir labai atvirų šaltinių bendruomenės versijų.

„Bitbucket“ ir „GitLab“ turi nuolatinę integraciją

Šios įmonės plečiasi ne tik saugodamos kodą, bet ir kurdamos bei diegdamos. „GitLab“ įdiegė nuolatinę „Jenkins“ pagrindu vykdomą integraciją, o tada pridėjo diegimo palaikymą ir stebėjimą. Galite priskirti kodą, jį įdiegti, stebėti ir tada pradėti planuoti kitą modifikacijų rinkinį neišeidami iš „GitLab“.

Panašiai „Bitbucket“ siūlo panašų kūrimo ir diegimo įrankį „Pipelines“, kuris daugeliu atvejų daro tą patį su keliais paspaudimais. Galbūt jis nesiūlo tiek stebėjimo, tačiau yra glaudžiai integruotas su „Amazon“ debesimi.

„GitHub“ leidžia naudoti savo nuolatinį integravimo serverį

Ar „GitHub“ vartotojai kada nors kuria savo kodą? Žinoma. Daugelis naudoja trečiųjų šalių įrankius, tokius kaip „CircleCI“ arba „Travis CI“, kuriuos suaktyvina įsipareigojimai „GitHub“. Kai kurie netgi prižiūri savo „Jenkins“ versiją, kurią galima gauti iš „GitHub“ talpinamos atvirojo kodo saugyklos.

Žinoma, trečiųjų šalių įrankiai gali būti ne pagal tą patį įmonės skėtį, tačiau jie pasiekia tą patį dalyką. Ir tada kartais išsiskyrimas gali būti privalumas, jei norite elgtis šiek tiek kitaip.

Verta paminėti, kad niekas netrukdo tęsti savo nuolatinio integravimo sprendimo su „Bitbucket“ ar „GitLab“. Jie tiesiog patikrina kodą, kaip ir bet kuris kitas „Git“ klientas.

„GitLab“ leidžia tobulėti internete

Tai, kas prasidėjo kaip įrankis, leidžiantis naršyti statinį kodą, pamažu virsta visaverte kūrimo platforma. „GitLab“ sąsaja tampa vis sudėtingesnė ir pradeda artėti prie to, ką įmonė vadina integruota kūrimo aplinka arba IDE. Tai nėra tokia sudėtinga kaip kai kurie darbalaukyje esantys monolitai, pvz., „Eclipse“ ar „Xcode“, kurie siūlo integruotą derinimą, tačiau tai nereiškia, kad negalite jo naudoti vis sudėtingesnėms programoms atlikti, atlikdami švarius, kelių failų įsipareigojimus.

Tiek „GitHub“, tiek „Bitbucket“ turi paprastesnes versijas, leidžiančias redaguoti failus internete ir tada įvykdyti rezultatą. Jie yra geresni, jei norite greitai pataisyti ir pataisyti.

„Bitbucket“ turi kodo paiešką

Tai gali atrodyti mažas dalykas, tačiau „Bitbucket“ paieškos algoritmas supranta daugelį pagrindinių kalbų, todėl rezultatus galima reitinguoti. Funkcijos ar kintamojo apibrėžimas pasirodo viršuje, o paskui naudojami naudojimo būdai. Jei bandote išsiaiškinti, ką veikia koks nors raktinis žodis, jums nereikia slinkti rezultatų puslapiuose, kad rastumėte atsakymą.

„Bitbucket“ yra tos pačios įmonės, kuri gamina „Jira“, gamyba

„Jira“ yra viena iš pagrindinių priemonių organizuoti kūrimo procesą, stebint bilietus ir informuojant komandas, kas ką su kuria saugykla daro ir kada ją baigia. „Jira“ gali būti integruota su visais, tačiau ji priklauso „Atlassian“, kuri užtikrina, kad Jira gerai veikia su „Bitbucket“.

Tiek „GitHub“, tiek „GitLab“ turi savo darbo eigoje įmontuotus savo problemų stebėjimo įrankius, kurie daro beveik tą patį. Norėdami gauti daugiau varpų ir švilpukų, „GitHub“ ir „GitLab“ vartotojai gali kreiptis į Jirą ar bet kurį iš panašių įrankių.

„GitLab“ yra atviras šaltinis

Jei jums nepatinka kokia nors konkreti „GitLab“ dalis, galite tiesiog atsisiųsti „Ruby“ šaltinio kodą, jį modifikuoti ir patys jį priglobti. Tai yra atviro kodo programa ir tik laukia, kol ją ištrauksite. „GitHub“ savo saugyklose siūlo keletą naudingų galvosūkių, o „Atlassian“ siūlo dosnią paramą visiems atvirojo kodo projektams, naudojantiems patvirtintas licencijas. Bet „GitLab“ suteikia jums visos platformos neapdorotą kodą bendruomenės leidime.

Taip pat yra keletas kitų atvirojo kodo „Git“ serverio projektų, tokių kaip „Gitblit“, parašyta „Java“, „Allura“, parašyta „Python“ ir „Gogs“, parašyta „Go“. Bet jūs turėsite juos visus priimti.

„GitLab“ yra glaudžiai integruota su „Google Cloud“

Jums nereikia naudoti „Google Cloud“ su „GitLab“. „GitLab“ tik šiek tiek palengvina, integruodamasis su „Google Kubernetes Engine“. Vos keliais paspaudimais kodas perkeliamas į veikiantį sudėtinių rodinių grupę. Net jei nenaudojate „Google Kubernetes Engine“, „GitHub“ vis tiek mėgsta dirbti su „Kubernetes“. Jei diegiate „Kubernetes“ sankaupą, viską galite stebėti - KSI aplinkas, diegimus, „Pod“ ir „Kubernetes“ metriką - tiesiai iš „GitLab“.

„Bitbucket“ integruojamas su AWS

Vėlgi, jūs visada galite įdiegti kodą kur tik norite, tačiau „Bitbucket“ priedas „Atlassian Marketplace“ įstums jūsų kodą į „Amazon S3“ kibirą ir naudos „AWS CodeDeploy“, kad jį paleistų EC2. Viskas, ką jums reikia padaryti, tai sukonfigūruoti vieną kartą ir jis yra paruoštas.

„Bitbucket“ turi daugybę plėtinių

„AWS CodeDeploy“ programa nėra vienintelė galimybė „Atlassian Marketplace“. Šiuo metu yra 304 programos, kurias parašė trečiosios šalys, kad išplėstų „Bitbucket“. Kai kurios prideda tokias funkcijas kaip pranešimai ar įsipareigojimų grafikai, o kitos padeda tvarkyti projektą, sekant darbo eigą. Jei jaučiatės valdingas, galite įdiegti „Commit Policy“ papildinį, kuris tikrina įsipareigojimų pranešimus, kad įsitikintumėte, jog juose yra nurodyti numeriai ir kita išsami informacija. Jei nematote, ko norite „Marketplace“, galite parašyti savo.

„Git“ (paprastas) yra nemokamas ir privatus

Bus tokių, kurie nenorės naudotis nė vienu iš šių prabangių variantų. „Git“ yra gana paprastas komandinės eilutės įrankis, kuriame yra daugybė komandų, skirtų patiems į saugyklas. Galite patys stumti, traukti ir sekti kodą naudodami komandinę eilutę. Jei gerai įsimenate komandinės eilutės instrukcijas ir nenorite, kad bet koks gražus, žiniatinklio pagrindu rodomas kodas, diffai ir dar daugiau, tada paprastas senas „Git“ jums bus naudingas.

Naudokite du arba visus tris!

Tai gali atrodyti per daug, bet nėra jokios priežasties, kodėl reikia pasirinkti tik vieną. „Git“ leidžia paprasčiau stumti įsipareigojimus prieš srovę ir nėra jokios priežasties, kodėl negalėtumėte pridėti kelių ankstesnių srautų. Jei jums reikia dviejų ar visų trijų platformų funkcijų, galite tiesiog sukonfigūruoti savo saugyklas, kad jos būtų prieinamos visoms. Jei jums pasisekė, galite likti laisvųjų pakopų viduje. O jei nesate, jie nėra per brangūs.

$config[zx-auto] not found$config[zx-overlay] not found