Programmēšana

GitHub pret Bitbucket pret GitLab: episka cīņa par izstrādātāju mindshare

Tas ir tāds meta jēdziens, kas liek bakalaura filozofiem teikt: "Kū!" Programmatūra mūsdienās ir tik sarežģīta, ka mums ir jāraksta programmatūra, lai palīdzētu mums saprast un konstruēt programmatūru, kas mums jāraksta. Kods rada kodu, iegūst vairāk koda ...

Kodu krātuve ar nosaukumu Git ir visu iecienītākais rīks programmatūras kūrēšanai, taču pat ar šo veiklo atvērtā koda programmatūru nepietiek. Lielākā daļa programmētāju un komandas, kurām viņi pieder, tagad ir piesaistīti Git tiešsaistes versijām, kas pievieno daudz papildu analīzes un prezentācijas slāņu, lai ļautu brist pa plašo purvu, kas ir mūsu kods.

Tagad ir trīs lieli pretendenti uz labāko vietu, kur ievietot savas regulārās izteiksmes, anonīmās funkcijas un intensīvos rekursīvos ģēnija koku staigāšanas zibšņus: GitHub, Bitbucket un GitLab. Viņi visi konkurē, lai būtu vislabākā vieta, kur uzglabāt avotu.

Vai viens ir labāks par otru? Vai jūsu komandai ir viena labākā vieta, kur izklaidēties ar lielisku joku? Novietosim viņus viens pret otru un redzēsim, kurš no tiem valda.

GitHub ir vislielākais

Varbūt tāpēc, ka tā bija pirmā lielā vietne, kas specializējās Git krātuvju mitināšanā. Varbūt tas ir pateicoties tā labajiem darbiem atvērtā pirmkoda sabiedrībā. Jebkurā gadījumā GitHub ir vadošais, ja izmantojat metriku par pārskatu par koda apjomu. GitHub pieprasa 28 miljonus lietotāju un 85 miljonus krātuvju. Bitbucket ziņo par sešiem miljoniem lietotāju, un GitLab ir noslēpums, kas neatbildēja uz jautājumu.

Daži domā, ka tas ir svarīgi. Atvērtā koda izstrādātāji, kuriem patīk pāriet starp projektiem, var izmantot vienu pieteikuminformāciju un saistīt visu savu darbu. Ikviens var sekot populāriem izstrādātājiem vietnē GitHub, piemēram, kaķu mīļotāji seko YouTube labāko kaķu video veidotājiem. Tīkla efekti, kas, šķiet, dominē internetā, GitHub izstumj tālu vadībā.

Citi nav tik pārliecināti. Jā, viņiem patīk saistīt savu publisko kodu, taču daudzi cilvēki nevēlas saistīt darbu, ko viņi dara klientu labā. Tam vajadzētu būt atsevišķam un publiskam. Šajā kontekstā tīkla efekti nav daudz vērtīgi.

Bitbucket un GitLab ir lētāki

Visi trīs pakalpojumi piedāvā daudzas bezmaksas iespējas, taču visi pelna savu naudu, pieprasot izstrādātājiem, parasti profesionāļiem, privātu projektu vadīšanu. GitHub cena ir 7 USD mēnesī vienam izstrādātājam. Bitbucket cena ir no 2 USD mēnesī, bet GitLab - no 4 USD mēnesī.

Bet šie skaitļi ir tikai aptuvenie ceļveži, jo pastāv lielas iespējas, ka vēlaties jaunināt. Labāks Bitbucket līmenis maksā 5 USD mēnesī. GitLab ir augstākās klases versija, kas maksā 19 USD mēnesī, un jums ir jāmaksā katru gadu, lai iegūtu šo cenu.

Uzņēmumiem ar lielākām komandām gandrīz noteikti ir slēptas atlaides, un tas apgrūtina salīdzināšanu. Jūs varētu domāt, ka Git hostings ir prece, taču šie uzņēmumi ir atraduši veidus, kā pievienot tik daudz papildu funkciju, ka galva sāk griezties, kad sākat salīdzināt to, ko saņemat par savu naudu.

Bitbucket un GitLab ļauj neierobežoti privātus krātuves

Tas, ko jūs saņemat bez maksas, ir ārkārtīgi atšķirīgs. Gan Bitbucket, gan GitLab ļauj jums bez maksas glabāt savus privātos krātuves. Jūs sākat maksāt tikai tad, kad jūsu komanda pieaug un kļūst profesionālāka. GitHub jūsu projektus bez maksas glabās tikai tad, ja esat students vai publiskojat projektus. Tas ir lieliski piemērots atvērtā koda, bet ne visiem jūsu privātajiem blakusprojektiem.

Šie bezmaksas līmeņi var būt diezgan dāsni. Bitbucket ļauj mazām komandām, kurās ir līdz pieciem līdzstrādniekiem. GitLab ļauj neierobežoti līdzstrādniekiem.

Ir vērts atzīmēt, ka šīs cenas un līmeņi attiecas uz mākoņa mitināto versiju. Ja vēlaties pašmāju uzņemt, tas var būt lētāk. Ir arī akadēmiski plāni un atvērtā koda kopienas versijas, kas ir ļoti dāsnas.

Bitbucket un GitLab ir nepārtraukta integrācija

Šie uzņēmumi paplašinās, ne tikai saglabājot kodu, bet arī izveidojot un izvietojot to. GitLab ir ieviesis Jenkins balstītu nepārtrauktu integrāciju un pēc tam virtuālā lokā pievienojis izvietošanas atbalstu un uzraudzību. Jūs varat piešķirt savu kodu, izvietot to, uzraudzīt to un pēc tam sākt plānot nākamo modifikāciju kopu, neatstājot GitLab.

Līdzīgi arī Bitbucket piedāvā līdzīgu veidošanas un izvietošanas rīku Pipelines, kas ar dažiem klikšķiem dara daudz to pašu. Varbūt tas nepiedāvā tik daudz uzraudzības, taču tas ir cieši integrēts Amazon mākonī.

GitHub ļauj jums izmantot savu nepārtrauktās integrācijas serveri

Vai GitHub lietotāji kādreiz veido savu kodu? Protams. Daudzi izmanto trešo pušu rīkus, piemēram, CircleCI vai Travis CI, kurus aktivizē saistības ar GitHub. Daži pat rīko savu Jenkins versiju, kas ir pieejama no atvērtā pirmkoda krātuves, kas mitināta vietnē GitHub.

Protams, trešo pušu rīki, iespējams, neatrodas zem viena un tā paša uzņēmuma jumta, taču tie paveic gandrīz to pašu. Un tad dažreiz atdalīšana var būt priekšrocība, ja vēlaties darīt lietas nedaudz savādāk.

Ir vērts atzīmēt, ka nekas neliedz jums izveidot savu nepārtrauktās integrācijas risinājumu arī ar Bitbucket vai GitLab. Viņi vienkārši pārbauda kodu tāpat kā jebkurš cits Git klients.

GitLab ļauj jums attīstīties tiešsaistē

Tas, kas sākās kā statiska koda pārlūkošanas rīks, lēnām pārveidojas par pilnvērtīgu attīstības platformu. GitLab saskarne kļūst arvien sarežģītāka un sāk tuvoties tam, ko uzņēmums sauc par integrētu attīstības vidi jeb IDE. Tas nav tik izsmalcināts kā daži no darbvirsmas centrētajiem monolītiem, piemēram, Eclipse vai Xcode, kas piedāvā integrētu atkļūdošanu, taču tas nenozīmē, ka jūs to nevarat izmantot, lai veiktu arvien izsmalcinātāku izstrādi ar tīrām, vairāku failu saistībām.

Gan GitHub, gan Bitbucket ir vienkāršākas versijas, kas ļauj rediģēt failus tiešsaistē un pēc tam saistīt rezultātu. Tie ir labāki ātrai pieskārieniem un labojumiem.

Bitbucket ir meklēta koda apzināšana

Tas var šķist maz kas, bet Bitbucket meklēšanas algoritms saprot daudzas no galvenajām valodām, ļaujot ranžēt rezultātus. Funkcijas vai mainīgā definīcija parādās uz augšu, un seko lietojumi. Ja mēģināt noskaidrot, ko dara kāds atslēgvārds, jums nav jāritina rezultātu lapas, lai atrastu atbildi.

Bitbucket nāk no tā paša uzņēmuma, kas ražo Jira

Jira ir viens no vadošajiem rīkiem, lai organizētu attīstības procesu, izsekojot biļetēm un informējot komandas par to, kas ar kuru krātuvi ko dara un kad to pabeidz. Jiru var integrēt ar visiem, taču tā pieder Atlassian, kas nodrošina, ka Jira labi darbojas ar Bitbucket.

Gan GitHub, gan GitLab darbplūsmā ir iebūvēti savi problēmu izsekošanas rīki, kas dara gandrīz to pašu. Lai iegūtu vairāk zvanu un svilpes, GitHub un GitLab lietotāji var vērsties pie Jira vai jebkura no vairākiem līdzīgiem rīkiem.

GitLab ir atvērtā koda

Ja jums nepatīk kāda konkrēta GitLab daļa, varat vienkārši lejupielādēt Ruby avota kodu, modificēt to un mitināt pats. Tas ir atvērtā koda avots un vienkārši gaida, kad jūs to sagriezīsit. GitHub savos krātuvēs piedāvā dažus noderīgus mīklu gabalus, un Atlassian piedāvā dāsnu atbalstu visiem atvērtā koda projektiem, izmantojot apstiprinātas licences. Bet GitLab sniedz kopienas izdevumā visas platformas neapstrādātu kodu.

Ir arī vairāki citi atvērtā koda Git serveru projekti, piemēram, Gitblit, kas rakstīts Java, Allura, rakstīts Python, un Gogs, kas rakstīts Go. Bet jums būs jāuzņem visi.

GitLab ir cieši integrēts pakalpojumā Google Cloud

Jums nav jāizmanto Google Cloud kopā ar GitLab. GitLab vienkārši padara to mazliet vieglāku, integrējot to ar Google Kubernetes Engine. Tikai ar dažiem klikšķiem kods tiek pārvietots uz darbojošos konteineru kopu. Pat ja jūs neizmantojat Google Kubernetes Engine, GitHub joprojām patīk strādāt ar Kubernetes. Izvietojot uz Kubernetes kopu, varat visu kontrolēt - CI vides, izvietojumus, pākstis un Kubernetes metriku - tieši no GitLab.

Bitbucket integrējas ar AWS

Atkal, jūs vienmēr varat izvietot kodu visur, kur vēlaties, taču Bitbucket papildinājums Atlassian Marketplace iespiedīs jūsu kodu Amazon S3 spainī un izmantos AWS CodeDeploy, lai palaistu to EC2. Viss, kas jums jādara, ir to vienreiz konfigurēt, un tas ir gatavs darbam.

Bitbucket ir daudz paplašinājumu

AWS CodeDeploy lietotne nav vienīgā iespēja Atlassian tirgū. Šajā rakstā ir 304 lietotnes, kuras ir uzrakstījušas trešās personas, lai paplašinātu Bitbucket. Daži pievieno tādas funkcijas kā paziņojumi vai saistību diagrammas, un citi palīdz veikt projekta uzkopšanu, izsekojot darbplūsmu. Ja jūs jūtaties priekšnieks, varat instalēt spraudni Commit Policy, kas pārbauda saistību ziņojumus, lai pārliecinātos, ka tajos ir norādīti izdevumu numuri un cita informācija. Ja Marketplace neredzat vēlamo, varat rakstīt pats.

Git (plain) ir bezmaksas un privāts

Būs daži, kas nevēlas izmantot nevienu no šīm greznajām iespējām. Git ir diezgan vienkāršs komandrindas rīks ar daudzām komandām, lai raktu pašos krātuvēs. Izmantojot komandrindu, varat patstāvīgi virzīt, vilkt un izsekot kodu. Ja jūs labi iegaumējat komandrindas instrukcijas un nevēlaties nevienu no jaukajiem, tīmekļa balstītajiem koda, diff un cita veida displejiem, tad vienkāršais vecais Git jums labi noderēs.

Izmantojiet divus vai visus trīs!

Tas var šķist pārspīlēts, taču nav iemesla, kāpēc jums vajadzētu izvēlēties tikai vienu. Git atvieglo saistību pārsūtīšanu augšpus straumes, un nav iemesla, kāpēc jūs nevarat pievienot vairākas augšupējās plūsmas. Ja jums nepieciešamas funkcijas no divām vai visām trim šīm platformām, varat vienkārši konfigurēt krātuves, lai tās atvērtu. Ja jums paveicas, varat palikt brīvo līmeņu iekšienē. Un, ja jūs neesat, tie nav pārāk dārgi.