Programmering

GitHub vs. Bitbucket vs. GitLab: En episk kamp for utviklerens mindshare

Det er den slags metaforestillinger som får lavere filosofer til å si "Whoa!" Programvare i dag er så komplisert at vi trenger å skrive programvare for å hjelpe oss å forstå og konstruere programvaren vi trenger å skrive. Koden begynner koden begynner mer kode ...

Kodedepotet med navnet Git er alles favorittverktøy for kurering av programvare, men selv denne pene programvaren med åpen kildekode er ikke nok. De fleste programmerere og teamene de tilhører, er nå bundet til online-versjoner av Git som legger til mange ekstra lag med analyse og presentasjon for å gjøre det mulig å vade gjennom den store sumpen som er koden vår.

Det er tre store utfordrere nå for det beste stedet å stash dine vanlige uttrykk, anonyme funksjoner og intense rekursive tre-gående blink av geni: GitHub, Bitbucket og GitLab. Alle konkurrerer om å være det beste stedet for deg å lagre kilden din.

Er den ene bedre enn den andre? Er det det beste stedet for teamet ditt å lage fantastisk mat? La oss sette dem mot hverandre og se hvilken som styrer.

GitHub er størst

Kanskje er det fordi det var det første store nettstedet som spesialiserte seg på hosting av Git-arkiver. Kanskje det er på grunn av sine gode gjerninger i open source-fellesskapet. I alle fall er GitHub ledende hvis du bruker beregningen av det rapporterte volumet av kode. GitHub hevder 28 millioner brukere og 85 millioner arkiver. Bitbucket rapporterer seks millioner brukere, og GitLab er et mysterium som ikke svarte på spørsmålet.

Noen mener dette betyr noe. Åpen kildekode-utviklere som liker å hoppe mellom prosjekter, kan bruke en pålogging og koble alt arbeidet sitt. Alle kan følge hotte utviklere på GitHub som katteelskere følger skaperne av de beste kattevideoene på YouTube. Nettverkseffektene som ser ut til å dominere Internett skyver GitHub langt i tet.

Andre er ikke så sikre. Ja, de liker å koble sin offentlige kode, men mange vil ikke koble arbeidet de gjør for klienter. Det bør være atskilt og ikke-offentlig. I den sammenhengen er nettverkseffektene ikke verdt mye av noe.

Bitbucket og GitLab er billigere

Alle tre tjenestene tilbyr mange gratis alternativer, men alle tjener pengene sine ved å belaste utviklere, vanligvis profesjonelle, for å være vert for private prosjekter. GitHub starter på $ 7 per måned per utvikler. Bitbucket starter på $ 2 per måned og GitLab starter på $ 4 per måned.

Men disse tallene er bare grove guider fordi det er en god sjanse for at du vil oppgradere. Et bedre nivå på Bitbucket koster $ 5 per måned. GitLab har en premiumversjon som koster $ 19 per måned - og du må betale årlig for å få den prisen.

Det er nesten helt sikkert skjulte rabatter for selskaper med større team, og disse gjør det vanskelig å sammenligne. Du tror kanskje at Git-hosting er en vare, men disse selskapene har funnet måter å legge til så mange ekstra funksjoner at hodet begynner å snurre når du begynner å sammenligne det du får for pengene.

Bitbucket og GitLab tillater ubegrensede private arkiver

Det du får gratis er veldig annerledes. Både Bitbucket og GitLab lar deg lagre dine egne private arkiver gratis. Du begynner bare å betale når teamet ditt vokser og blir mer profesjonelt. GitHub lagrer bare prosjektene dine gratis hvis du er student eller offentliggjør prosjektene. Det er flott for åpen kildekode, men ikke for alle dine private sideprosjekter.

Disse gratis nivåene kan være ganske rause. Bitbucket tillater små team på opptil fem samarbeidspartnere. GitLab tillater ubegrensede samarbeidspartnere.

Det er verdt å merke seg at disse prisene og nivåene er for den skyhostede versjonen. Hvis du ønsker å være vertskap selv, kan det være billigere. Det er også akademiske planer og open source community-versjoner som er veldig sjenerøse.

Bitbucket og GitLab har kontinuerlig integrasjon

Disse selskapene utvider seg ved ikke bare å lagre koden, men også bygge og distribuere den. GitLab har rullet inn Jenkins-basert kontinuerlig integrasjon og deretter lagt til distribusjonsstøtte og overvåking i en god sløyfe. Du kan bruke koden, distribuere den, overvåke den og deretter begynne å planlegge neste sett med modifikasjoner uten å forlate GitLab.

På samme måte tilbyr Bitbucket Pipelines, et lignende bygge- og distribusjonsverktøy som gjør omtrent det samme med noen få klikk. Kanskje det ikke tilbyr så mye overvåking, men det er tett integrert med Amazons sky.

GitHub lar deg bruke din egen kontinuerlige integreringsserver

Bygg GitHub-brukere noen gang koden sin? Selvfølgelig. Mange bruker tredjepartsverktøy som CircleCI eller Travis CI som utløses av forpliktelser til GitHub. Noen er til og med vertskap for sin egen versjon av Jenkins, som er tilgjengelig fra et åpen kildekodelager som er vert hos GitHub.

Tredjepartsverktøyene er naturligvis ikke under den samme paraplyen, men de oppnår omtrent det samme. Og noen ganger kan separasjonen være en fordel hvis du vil gjøre ting litt annerledes.

Det er verdt å merke seg at det ikke er noe som hindrer deg i å rulle din egen kontinuerlige integrasjonsløsning med Bitbucket eller GitLab heller. De sjekker bare ut koden som alle andre Git-klienter.

Med GitLab kan du utvikle deg online

Det som begynte som et verktøy for å la deg bla gjennom statisk kode, forvandles sakte til en fullverdig plattform for utvikling. GitLabs grensesnitt vokser mer og mer komplekst og begynner å nærme seg det selskapet kaller et integrert utviklingsmiljø eller IDE. Det er ikke så sofistikert som noen av de stasjonære sentrerte monolittene som Eclipse eller Xcode som tilbyr integrert feilsøking, men det betyr ikke at du ikke kan bruke den til å gjøre mer og mer sofistikert utvikling med rene, flere filforpliktelser.

Både GitHub og Bitbucket har enklere versjoner som lar deg redigere filene dine online og deretter forplikte resultatet. De er bedre for raske forbedringer og reparasjoner.

Bitbucket har kodebevisst søk

Det kan virke som en liten ting, men Bitbucket's søkealgoritme forstår mange av de største språkene, noe som gjør det mulig å rangere resultatene. Definisjonen av en funksjon eller en variabel dukker opp på toppen og bruken følger. Hvis du prøver å finne ut hva noen søkeord gjør, trenger du ikke å bla gjennom sider med resultater for å finne svaret.

Bitbucket kommer fra det samme selskapet som lager Jira

Jira er et av de ledende verktøyene for å organisere utviklingsprosessen ved å spore billetter og holde teamene oppmerksomme på hvem som gjør hva med hvilket depot og når de fullfører det. Jira kan integreres med alle, men eies av Atlassian, som sørger for at Jira fungerer bra med Bitbucket.

Både GitHub og GitLab har sine egne sporingsverktøy for problemer innebygd i arbeidsflyten som gjør stort sett det samme. For flere bjeller og fløyter kan brukere av GitHub og GitLab henvende seg til Jira eller et hvilket som helst av en rekke lignende verktøy.

GitLab er åpen kildekode

Hvis du ikke liker noen bestemt del av GitLab, kan du bare laste ned Ruby-kildekoden, endre den og være vert for den selv. Det er åpen kildekode og bare venter på at du skal forkaste den. GitHub tilbyr noen nyttige brikker av puslespillet i sine arkiver, og Atlassian tilbyr generøs støtte til alle open source-prosjekter ved bruk av godkjente lisenser. Men GitLab gir deg rå koden for hele plattformen i en community-utgave.

Det er flere andre Git-serverprosjekter med åpen kildekode, som Gitblit, skrevet i Java, Allura, skrevet i Python og Gogs, skrevet i Go. Men du må være vert for dem alle.

GitLab er tett integrert med Google Cloud

Du trenger ikke bruke Google Cloud med GitLab. GitLab gjør det bare litt enklere ved å integrere med Google Kubernetes Engine. Bare noen få klikk flytter koden din til en kjørende containerklynge. Selv om du ikke bruker Google Kubernetes Engine, liker GitHub fortsatt å jobbe med Kubernetes. Hvis du distribuerer til en Kubernetes-klynge, kan du overvåke alt - CI-miljøer, distribusjoner, pods og Kubernetes-beregninger - rett fra GitLab.

Bitbucket integreres med AWS

Igjen kan du alltid distribuere koden din hvor du vil, men et Bitbucket-tillegg på Atlassian Marketplace vil skyve koden din inn i en Amazon S3-bøtte og bruke AWS CodeDeploy til å kjøre den på EC2. Alt du trenger å gjøre er å konfigurere den en gang, og den er klar til bruk.

Bitbucket har mange utvidelser

AWS CodeDeploy-appen er ikke det eneste alternativet på Atlassian-markedet. I skrivende stund er det 304 apper skrevet av tredjeparter for å utvide Bitbucket. Noen legger til funksjoner som varsler eller grafer over forpliktelser, og andre hjelper til med rengjøring av prosjekter ved å spore arbeidsflyten. Hvis du føler deg sjef, kan du installere plugin-modulen for forpliktelsespolicy som gransker forpliktelsesmeldingene for å sikre at de nevner utgavenumre og andre detaljer. Hvis du ikke ser hva du vil ha på Marketplace, kan du skrive ditt eget.

Git (vanlig) er gratis og privat

Det vil være noen som ikke vil bruke noen av disse luksuriøse alternativene. Git er et ganske enkelt kommandolinjeverktøy med mange kommandoer for å grave i repositoriene selv. Du kan trykke, trekke og spore koden på egen hånd ved hjelp av kommandolinjen. Hvis du er flink til å huske kommandolinjeinstruksjoner og ikke vil ha noen av de fine, nettbaserte skjermbildene med kode, forskjeller og mer, så vil vanlig gammel Git tjene deg godt.

Bruk to eller alle tre!

Det kan virke som for mye, men det er ingen grunn til at du trenger å velge bare en. Git gjør det enkelt å skyve forpliktelser oppstrøms, og det er ingen grunn til at du ikke kan legge til flere oppstrømmer. Hvis du trenger funksjoner fra to eller alle disse tre plattformene, kan du bare konfigurere lagringsplassene dine for å presse til dem alle. Hvis du er heldig, kan du holde deg inne i gratis nivåene. Og hvis du ikke er det, er de ikke for dyre.

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