Programovanie

GitHub vs. Bitbucket vs. GitLab: epická bitka o vývojársky mindshare

Je to druh meta predstavy, vďaka ktorej vysokoškolskí filozofi hovoria: „Fíha!“ Softvér je dnes taký komplikovaný, že musíme písať softvér, ktorý nám pomáha porozumieť a vytvoriť softvér, ktorý potrebujeme na písanie. Kód plodí kód plodí viac kódu ...

Úložisko kódov s názvom Git je obľúbeným nástrojom všetkých používateľov na spravovanie softvéru, ale ani tento čistý otvorený softvér nestačí. Väčšina programátorov a tímov, ku ktorým patria, sú teraz súčasťou online verzií Gitu, ktoré pridávajú mnoho ďalších vrstiev analýzy a prezentácie, aby bolo možné prebrodiť sa rozsiahlym močiarom, ktorým je náš kód.

Teraz sú tu traja veľkí uchádzači o najlepšie miesto na schovanie vašich regulárnych výrazov, anonymných funkcií a intenzívnych rekurzívnych geniálnych bleskov: GitHub, Bitbucket a GitLab. Všetky súťažia o to, aby ste pre nich mohli najlepšie uložiť zdroj.

Je jeden lepší ako druhý? Je jedno z najlepších miest pre váš tím na razenie úžasnej noci? Postavme ich proti sebe a pozrime sa, ktorý z nich vládne.

GitHub je najväčší

Možno je to preto, že to bol prvý veľký web, ktorý sa špecializoval na hosťovanie úložísk Git. Možno je to kvôli jeho dobrým dielam v komunite otvorených zdrojov. V každom prípade je GitHub na čele, ak použijete metriku čistého nahláseného objemu kódu. GitHub si nárokuje 28 miliónov používateľov a 85 miliónov úložísk. Bitbucket hlási šesť miliónov používateľov a GitLab je záhadou, ktorá na otázku nereagovala.

Niektorí si myslia, že to má význam. Vývojári otvoreného zdroja, ktorí radi skákajú medzi projektmi, môžu použiť jedno prihlásenie a prepojiť celú svoju prácu. Každý môže sledovať horúcich vývojárov na GitHube, rovnako ako milovníci mačiek sledovať tvorcov najlepších videí o mačkách na YouTube. Sieťové efekty, ktoré, zdá sa, dominujú na internete, posúvajú GitHub ďaleko do popredia.

Ostatné si nie sú také isté. Áno, radi spájajú svoj verejný kód, ale veľa ľudí nechce prepájať prácu, ktorú robia pre klientov. To by malo byť samostatné a neverejné. V tejto súvislosti sieťové efekty nestoja za nič.

Bitbucket a GitLab sú lacnejšie

Všetky tri služby ponúkajú veľa bezplatných možností, všetky však zarábajú peniaze tým, že vývojárom, zvyčajne profesionálom, účtujú poplatky za hostenie súkromných projektov. GitHub začína na 7 $ mesačne na vývojára. Bitbucket začína na 2 dolároch mesačne a GitLab začína na 4 dolároch mesačne.

Tieto čísla sú však iba hrubým sprievodcom, pretože existuje veľká šanca, že budete chcieť inovovať. Lepšia vrstva v službe Bitbucket stojí 5 dolárov mesačne. GitLab má prémiovú verziu, ktorá stojí 19 dolárov mesačne - a za túto cenu musíte platiť každý rok.

Pre spoločnosti s väčšími tímami sú takmer určite skryté zľavy, ktoré sťažujú porovnanie. Možno si myslíte, že Git hosting je komodita, ale tieto spoločnosti našli spôsoby, ako pridať toľko ďalších funkcií, že sa vám začne točiť hlava, keď začnete porovnávať, čo za svoje peniaze dostanete.

Bitbucket a GitLab umožňujú neobmedzené súkromné ​​úložiská

To, čo dostanete zadarmo, sa divoko líši. Bitbucket aj GitLab vám umožňujú zadarmo ukladať vaše súkromné ​​úložiská. Platiť začnete až potom, keď sa váš tím rozrastie a stane sa profesionálnejším. GitHub uloží vaše projekty zadarmo, iba ak ste študent alebo ich zverejníte. To je skvelé pre otvorený zdroj, ale nie pre všetky vaše súkromné ​​vedľajšie projekty.

Tieto bezplatné úrovne môžu byť dosť veľkorysé. Bitbucket umožňuje malým tímom až piatich spolupracovníkov. GitLab umožňuje neobmedzené množstvo spolupracovníkov.

Stojí za zmienku, že tieto ceny a úrovne platia pre verziu hosťovanú v cloude. Ak sa chcete stať hostiteľom, môže to byť lacnejšie. Existujú tiež akademické plány a komunitné verzie open source, ktoré sú veľmi veľkorysé.

Bitbucket a GitLab majú nepretržitú integráciu

Tieto spoločnosti sa rozširujú nielen ukladaním kódu, ale aj jeho budovaním a nasadením. GitLab zaviedol nepretržitú integráciu založenú na Jenkinsovej a potom pridal podporu nasadenia a monitorovania vo virtuálnej slučke. Môžete potvrdiť svoj kód, nasadiť ho, monitorovať a potom môžete začať plánovať ďalšiu sadu úprav bez toho, aby ste opustili GitLab.

Bitbucket podobne ponúka Pipelines, podobný nástroj na zostavenie a nasadenie, ktorý pomocou niekoľkých kliknutí urobí to isté. Možno neponúka toľko monitorovania, ale je úzko integrovaný s cloudom Amazonu.

GitHub vám umožňuje používať vlastný server na nepretržitú integráciu

Budujú používatelia GitHubu niekedy svoj kód? Samozrejme. Mnoho z nich používa nástroje tretích strán, ako sú CircleCI alebo Travis CI, ktoré sú spúšťané záväzkami na GitHub. Niektorí dokonca hosťujú svoju vlastnú verziu Jenkinsa, ktorá je k dispozícii v úložisku otvoreného zdroja hosteného na GitHub.

Nástroje tretích strán samozrejme nemusia byť pod rovnakou firemnou záštitou, ale dosahujú rovnaké výsledky. A potom môže byť niekedy rozchod výhodou, ak chcete robiť veci trochu inak.

Stojí za zmienku, že vám nič nebráni v zavedení vlastného riešenia kontinuálnej integrácie s Bitbucket alebo GitLab. Iba skontrolujú kód ako každý iný klient Git.

GitLab vám umožňuje vývoj online

To, čo sa začalo ako nástroj umožňujúci prehliadanie statického kódu, sa pomaly mení na plnohodnotnú platformu pre vývoj. Rozhranie GitLabu je čoraz zložitejšie a začína sa blížiť k tomu, čo spoločnosť nazýva integrované vývojové prostredie alebo IDE. Nie je to také prepracované ako niektoré monolity zamerané na plochu, ako je Eclipse alebo Xcode, ktoré ponúkajú integrované ladenie, ale to neznamená, že ho nemôžete použiť na čoraz sofistikovanejší vývoj s čistými záväzkami viacerých súborov.

GitHub aj Bitbucket majú jednoduchšie verzie, ktoré vám umožňujú upravovať súbory online a následne potvrdiť výsledok. Sú lepšie na rýchle opravy a opravy.

Bitbucket má vyhľadávanie podľa kódu

Môže sa to zdať ako maličkosť, ale vyhľadávací algoritmus Bitbucketu rozumie mnohým hlavným jazykom, čo umožňuje hodnotiť výsledky. Na vrchu sa zobrazí definícia funkcie alebo premennej a nasleduje použitie. Ak sa snažíte zistiť, čo ktoré kľúčové slovo robí, nemusíte hľadať stránky s výsledkami, aby ste našli odpoveď.

Bitbucket pochádza od rovnakej spoločnosti, ktorá vyrába Jira

Jira je jedným z popredných nástrojov na organizáciu vývojového procesu sledovaním tiketov a informovaním tímov o tom, kto čo robí a do ktorého úložiska čo robí. Jira môže byť integrovaná so všetkými, ale vlastní ju spoločnosť Atlassian, ktorá zaisťuje, že Jira funguje dobre s Bitbucketom.

GitHub aj GitLab majú v pracovnom toku zabudované svoje vlastné nástroje na sledovanie problémov, ktoré robia skoro to isté. Pokiaľ ide o ďalšie zvončeky a píšťalky, používatelia služieb GitHub a GitLab sa môžu obrátiť na službu Jira alebo na ktorýkoľvek z množstva podobných nástrojov.

GitLab je otvorený zdroj

Ak sa vám nepáči žiadna konkrétna časť GitLabu, stačí si stiahnuť zdrojový kód Ruby, upraviť ho a hostiť sám. Je to otvorený zdroj a čaká len na to, kedy to rozdáte. GitHub ponúka vo svojich úložiskách niekoľko užitočných častí svojej hádanky a Atlassian ponúka štedrú podporu všetkým projektom otvoreného zdroja pomocou schválených licencií. GitLab vám ale v komunitnej edícii poskytne nespracovaný kód pre celú platformu.

Existuje aj niekoľko ďalších projektov serverov Git s otvoreným zdrojom, napríklad Gitblit napísaných v jazyku Java, Allura napísaných v jazyku Python a Gogs napísaných v jazyku Go. Musíte ich však hostiť všetkých.

GitLab je úzko integrovaný do služby Google Cloud

Google Cloud nemusíte používať s GitLabom. GitLab to vďaka integrácii s Google Kubernetes Engine o niečo uľahčuje. Iba pár kliknutí presunie váš kód do bežiaceho klastrového kontajnera. Aj keď nepoužívate Google Kubernetes Engine, GitHub stále rád spolupracuje s Kubernetes. Ak nasadíte do klastra Kubernetes, môžete sledovať všetko - prostredia CI, nasadenia, pody a metriky Kubernetes - priamo z GitLabu.

Bitbucket sa integruje do AWS

Opäť môžete svoj kód kedykoľvek nasadiť kamkoľvek chcete, ale doplnok Bitbucket na Atlassian Marketplace vtlačí váš kód do vedra Amazon S3 a na jeho spustenie na EC2 ho použije AWS CodeDeploy. Všetko, čo musíte urobiť, je jednorazová konfigurácia a je to pripravené.

Bitbucket má veľa rozšírení

Aplikácia AWS CodeDeploy nie je jedinou možnosťou na trhu Atlassian. Od tohto písania existuje 304 aplikácií napísaných tretími stranami na rozšírenie Bitbucket. Niektoré pridávajú funkcie, ako sú oznámenia alebo grafy záväzkov, a iné pomáhajú pri údržbe projektu sledovaním pracovného toku. Ak máte pocit, že ste panovačný, môžete si nainštalovať doplnok Politika potvrdenia, ktorý podrobne kontroluje správy o potvrdení, aby sa ubezpečil, že obsahujú čísla problémov a ďalšie podrobnosti. Ak na Marketplace nevidíte, čo chcete, môžete napísať svoj vlastný.

Git (obyčajný) je bezplatný a súkromný

Nájdu sa ľudia, ktorí nechcú využiť žiadnu z týchto luxusných možností. Git je celkom jednoduchý nástroj príkazového riadku s množstvom príkazov na kopanie do samotných úložísk. Pomocou príkazového riadku môžete sami tlačiť, ťahať a sledovať kód. Ak si dobre pamätáte pokyny z príkazového riadku a nechcete žiadne pekné webové ukážky kódu, rozdielov a ďalších, potom vám starý Git dobre poslúži.

Použite dva alebo všetky tri!

Môže sa to javiť ako prehnané, ale nie je dôvod, aby ste si vybrali iba jednu. Vďaka Gitu je jednoduché posielať potvrdenia proti prúdu a nie je dôvod, prečo nemôžete pridať viac proti prúdu. Ak potrebujete funkcie z dvoch alebo všetkých troch z týchto platforiem, stačí nakonfigurovať svoje úložiská tak, aby tlačili na všetky z nich. Ak budete mať šťastie, môžete zostať v rámci bezplatných úrovní. A ak nie, nie sú príliš drahé.