Opinn hugbúnaður fyrir DevOps í stórum stíl: að reka GitLab sjálf

Frumkóði er sú eina eign sem næstum öll tæknifyrirtæki eru sammála um að sé kerfislega mikilvæg, og um leið sú sem flest þeirra geyma á innviðum sem þau eiga ekki, í lögsögu sem þau völdu ekki, samkvæmt samningi sem þau lásu ekki vandlega. Yfirleitt gengur það fyrirkomulag ágætlega. Samt borgar sig að vita hvað valkosturinn kostar, því GitLab hefur í meira en áratug gert það raunhæft að hýsa allan þróunarferilinn sjálfur.
Þetta er líka vara þar sem ókeypis þrepið er örlátara og rekstrarbyrðin þyngri en flestir búast við. Hvort tveggja er rétt að skilja áður en maður skuldbindur sig, svo þessi leiðarvísir fjallar um hvað sjálfrekið GitLab raunverulega er, hvað ókeypis þrepið gefur í raun, og þau þrjú rekstrarvandamál sem valda mestum sársauka.
Hvað GitLab er
Ekki Git-hýsing með aukahlutum skrúfuðum utan á. Rails-forrit, PostgreSQL, Redis, Gitaly fyrir geymslu gagnasafna, Sidekiq fyrir bakgrunnsverk og gámaskrá, pakkað saman sem eitt kerfi sem nær yfir útgáfustýringu, kóðarýni, málaskráningu, CI/CD, pakka- og gámaskrár, öryggisskönnun og útgáfu.
Þessi breidd er öll röksemdin. GitHub plús Actions plús Dependabot plús pakkaskrá plús verkefnaskráningartól gefa sambærilegt eiginleikasafn, sett saman úr hlutum. GitLab er eitt forrit með einu heimildalíkani og einum gagnagrunni. Það er annaðhvort nákvæmlega það sem þú vilt eða meira en þú þarft, og hvort það er fer eftir því hversu stóran hluta ferilsins þú ætlar í raun að reka á einum stað.
Það sem skiptir máli í byggingarlaginu er hið sama og þegar þú hýsir greininguna þína með Matomo, markaðssjálfvirknina með Mautic eða teymisspjallið með Mattermost: það keyrir þar sem þú setur það. Þín gagnasöfn, þínar CI-skrár, þín smíðaskil, þinn gagnagrunnur.
Leyfismyndin, sögð umbúðalaust
Þetta ruglar fólk raunverulega og á skilið nákvæmni, því ruglingurinn liggur í öfuga átt við það sem fólk býst við.
Til eru tvær frumkóðadreifingar. Community Edition er með MIT-leyfi. Enterprise Edition hefur eigið, þrengra leyfi sem nær yfir möppuna ee/ í gagnasafninu. Hingað til hljómar þetta eins og hið venjulega opna kjarna líkan.
Það sem kemur á óvart: Linux-pakkinn sem næstum allir setja upp er Enterprise Edition-byggingin, og án leyfislykils keyrir hún sem Free þrep og hegðar sér eins og Community Edition. Þú ert því ekki að keyra MIT-leyfðu dreifinguna nema þú hafir vísvitandi valið CE-pakkann. Í reynd skiptir það sjaldnast máli, en ef ástæða þín fyrir sjálfshýsingu er ströng stefna um opinn hugbúnað fremur en stjórn á gögnum, þá skiptir það gríðarlega miklu, og næstum enginn athugar það.
Viðskiptaþrepin eru Free, Premium á 29 dali á notanda á mánuði með ársreikningi, og Ultimate á verði samkvæmt samkomulagi. Premium bætir við háþróaðri CI/CD, betri verkefnastjórnun og forgangsstuðningi. Ultimate bætir við öryggis- og regluvörslupakkanum: öryggisprófunum forrita, öryggi aðfangakeðju, skönnun á háðum einingum. Bæði greiddu þrepin innihalda nú GitLab Credits fyrir gervigreindareiginleikana, 12 dali á notanda á mánuði á Premium og 24 á Ultimate.
Og hér er staðreyndin sem breytir dæminu fyrir flest teymi, og nákvæm andstæða við stöðuna hjá Mattermost: Free þrepið í sjálfsrekstri hefur engin notendatakmörk. Þakið á fimm notendum sem fólk hefur heyrt um gildir eingöngu um lokaða hópa á GitLab.com. Sjálfhýst gefur Free þér ótakmarkaða notendur, útgáfustýringu, CI/CD og skrár, og geymslu og keyrslur kemur þú með sjálfur. Fyrirtæki með hundrað verkfræðinga getur keyrt alfarið á því.
Það sem þú afsalar þér er öryggisskönnun, regluvörsluskýrslur, háþróaðar samþykktarreglur og stuðningur. Ef þú fellur undir reglugerð um netþol og vilt skönnun á háðum einingum og gerð SBOM innbyggða í ferlana þína frekar en samsetta úr aðskildum verkfærum, þá er það Ultimate samtal. Fyrir flest önnur teymi er Free ekki prufa. Það er raunhæft varanlegt svar.
Uppsetningin
Lítil uppsetning
GitLab er þyngra en það lítur út fyrir. Skjalfesti grunnurinn fyrir einn hnút er 8 vCPU og 16 GB af vinnsluminni, og ólíkt flestum lágmörkum framleiðenda er sú tala heiðarleg fremur en bjartsýn. Það má þjappa því í 8 GB, en þú finnur fyrir því, og betra er að slökkva á diskminni, því að láta þetta forrit nota diskminni er verra en að hafa ekki minnið.
PostgreSQL er eini studdi gagnagrunnurinn. Hvaða útgáfa fer eftir GitLab-útgáfunni þinni: 17.x vill PostgreSQL 14.14 til 16.x, 18.x vill 16.5 til 17.x, og 19.x vill 17.x. Redis 7.2 er ráðlagt með 7.0 sem lágmark, og Valkey 7.2 gengur sem staðgengill. Aðeins sjálfstæð tilvik, því klasa- og netþjónslausar útgáfur af Redis eru ekki studdar.
Settu upp með Linux-pakkanum. Til eru Helm-rit, Operator, Docker-myndir og leið frá frumkóða, en Linux-pakkinn er þroskaðasti kosturinn og það er hann sem GitLab.com sjálft keyrir á. Hann kemur með PostgreSQL, Redis og Sidekiq, svo ein vél og ein stillingaskrá gefa virkt tilvik.
# /etc/gitlab/gitlab.rb
external_url 'https://git.example.com'
# Let's Encrypt, on by default when external_url is https
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['ops@example.com']
# Keep Puma and Sidekiq honest on a small box
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 9
# Move artefacts and uploads off local disk early
gitlab_rails['object_store']['enabled'] = true
gitlab_rails['object_store']['connection'] = {
'provider' => 'AWS',
'region' => 'eu-central-1',
'aws_access_key_id' => 'REPLACE_ME',
'aws_secret_access_key' => 'REPLACE_ME'
}
Einu gitlab-ctl reconfigure síðar ertu kominn með tilvik. Stilltu external_url rétt í fyrsta skipti, því það gildi endar innbakað í klónunarslóðum, vefkrókum og vistföngum skrárinnar.
Framleiðsluuppsetning
GitLab birtir viðmiðunaruppbyggingar frá 1.000 upp í 50.000 notendur, og það borgar sig að lesa þær jafnvel þótt þú innleiðir enga þeirra, því þær sýna hvaða eining verður flöskuháls fyrst.
Ráðið sem sparar mest fé kemur frá GitLab sjálfu og mælir gegn flækjustigi: undir 3.000 notendum mæla þeir með traustri afritunarstefnu fremur en háu aðgengi. Skjölin eru óvenju hreinskilin um þetta og benda á að afritunarnálgunin hafi vissulega hægari endurheimtartíma, en þýði mun minni uppbyggingu og lægri viðhaldskostnað. Yfir 3.000 notendum, eða þar sem bilun stöðvar fyrirtækið í raun, verður hátt aðgengi ráðleggingin.
Taktu það alvarlega. Einn vel afritaður hnútur með prófaðri endurheimt er í reynd áreiðanlegri en hálfskilinn þyrping með háu aðgengi, og talsvert ódýrari.
Færðu smíðaskil, innsend gögn, LFS-hluti og myndir skrárinnar yfir í hlutageymslu frá byrjun. Sama röksemd og alls staðar annars staðar: það heldur hnútnum án stöðu, afritunum viðráðanlegum og flutningnum mögulegum.
Þrennt sem fer úrskeiðis
Allt hér að ofan er í skjölunum. Þetta framleiðir atvik.
Afritið þitt inniheldur ekki það sem afkóðar það
Þetta er mikilvægasta málsgreinin í greininni.
gitlab-backup create nær yfir töluvert: gagnagrunninn, gagnasöfnin, LFS-hluti, CI-smíðaskil og verkskrár, myndir skrárinnar, wiki, innsend gögn, Pages-efni, Terraform-stöðu, kóðabúta. Það sem það nær ekki yfir er stillingamappan, og sérstaklega /etc/gitlab/gitlab-secrets.json.
Sú skrá geymir dulkóðunarlykil gagnagrunnsins. Skjölin eru afdráttarlaus um afleiðinguna: ef þú týnir henni mun GitLab-forritið ekki geta afkóðað nein dulkóðuð gildi í gagnagrunninum. Það þýðir CI/CD breytur, tákn, tveggja þátta leyndarmál og auðkenni samþættinga. Þú værir með afrit sem endurheimtist inn í tilvik sem getur ekki lesið sín eigin leyndarmál.
Einnig undanskilið: /etc/gitlab/gitlab.rb, TLS-lyklar og skírteini, SSH hýsingarlyklar, og innihald hlutageymslu þegar hlutageymsla er stillt. Það síðasta nær einmitt þeim sem gerðu rétt í uppbyggingu og gerðu svo ráð fyrir að afritið næði yfir það.
Taktu því afrit af /etc/gitlab sérstaklega, geymdu það annars staðar en safnskrána, því það er lykillinn að safnskránni, og endurheimtu svo allt saman á einnota vél og staðfestu að þú getir skráð þig inn og lesið CI-breytu. Óprófað afrit er ekki afrit, og hjá GitLab er óprófuð endurheimt yfirleitt biluð.
Þú getur ekki uppfært í einu stökki
GitLab hefur skyldubundna viðkomustaði við uppfærslu, og þetta er ekki leiðbeining. Þú getur ekki sleppt þeim. Frá 17.5 eru viðkomustaðirnir fyrirsjáanlegir og lenda á x.2, x.5, x.8 og x.11, svo að fara úr 18.0 í 19.2 þýðir að fara í gegnum 18.2, 18.5, 18.8, 18.11 og 19.0.
Hverjum viðkomustað fylgja bakgrunnsfærslur sem verða að klárast alveg áður en þú heldur áfram. Að hefja næstu uppfærslu meðan færslur eru enn í gangi er einmitt leiðin til þess að tilvik lendi í ástandi sem aðeins þjónustuverið greiðir úr. Á stóru tilviki geta þessar færslur tekið marga klukkutíma.
Tvær hagnýtar afleiðingar. Uppfærðu reglulega, því ár af frestuðum uppfærslum er ein helgi af uppfærslum í röð. Og taktu alltaf nýjustu lagfæringarútgáfu markundirútgáfunnar fremur en þá fyrstu, sem skjölin segja berum orðum. GitLab heldur úti verkfæri sem reiknar uppfærsluleiðina fyrir þig, og betra er að nota það en að álykta sjálfur.
Raunverulegi kostnaðurinn liggur í keyrslunum
GitLab-þjónninn keyrir ekki CI-ið þitt. GitLab Runner er sérstök eining sem þú setur upp, stillir og greiðir fyrir, á innviðum sem þú leggur til. Sjálfrekið Free inniheldur engar reiknimínútur, því það er engin innifalin reiknigeta til að gefa: þú kemur með þínar eigin vélar.
Yfirleitt er það góður samningur, því sérstök keyrsla kostar minna á mínútu en hýst CI um leið og umfangið verður alvarlegt, og þú getur gefið hverri smíði þann vélbúnað sem hún þarf. En þetta er raunveruleg innviðavinna. Þú tekur ákvarðanir um keyrsluvélar, hvort það er skel, Docker eða Kubernetes; um sjálfvirka skölun, svo keyrslur snúist ekki í lausagangi klukkan þrjú að nóttu; og um skyndiminni, sem er munurinn á fjögurra mínútna ferli og fjórtán mínútna.
Settu keyrsluflotann á fjárhagsáætlun sem sinn eigin lið. Teymi sem meta kostnað sjálfshýsingar með því að horfa aðeins á GitLab-hnútinn vanmeta hann verulega, og uppgötva svo bilið sem röð af biðjandi verkum.
Burt frá GitHub
GitHub innflytjandinn er góður, talsvert betri en flest flutningsverkfæri söluaðila, og hann flytur gögn gagnasafnsins, greinar, LFS-hluti, mál og sameiningarbeiðnir með athugasemdum, rýni og svörum í umræðum, wiki síður, útgáfur og viðhengi, merki, áfanga, verndarreglur greina og samstarfsfólk með hlutverkavörpun.
Skjalfestu eyðurnar borgar sig að skipuleggja fyrir. Skipulagseiningar og hópar flytjast ekki, svo hópauppbyggingin er þín að hanna í stað þess að erfa, sem er yfirleitt til bóta. GitHub Actions verkflæði breytast ekki í GitLab CI. Athugasemdir við sameiningarbeiðnir eldri en frá 2017 flytjast sem aðskildir þræðir vegna takmarkana í GitHub viðmótinu, og gagnasöfn með yfir um það bil 30.000 athugasemdum þurfa að kveikt sé á annarri aðferð við innflutning athugasemda.
Þar sem GitHub notar # bæði fyrir mál og sameiningarbeiðnir en GitLab greinir þar á milli, munu sumar millivísanir ekki leysast. Ekkert glatast, en tenglar í gömlum umræðum geta bent á rangan hlut.
Skipuleggðu endurritun CI sem sjálft verkefnið, því það er hún. Allt annað er innflutningsverk sem þú keyrir og athugar.
Evrópska sjónarhornið
Fyrir fyrirtæki sem starfa í Evrópu leggst regluvörsluvídd ofan á kostnaðinn. Frumkóði, smíðaferlar og smíðaskil eru meðal viðkvæmustu hluta sem tæknifyrirtæki á, og hvar þeir búa er í vaxandi mæli spurning sem þú færð fremur en ein sem þú velur að svara.
Sjálfshýsing setur þá innan marka sem þú stýrir, sem einfaldar í einu vetfangi flutningsgreininguna samkvæmt GDPR og aðfangakeðjuspurningarnar í NIS2, og það er sama fullveldisröksemdin og Cloud and AI Development Act er byggð utan um.
Skarpari tengingin er reglugerð um netþol. Ef þú setur hugbúnað á markað í ESB þarftu skrár yfir háðar einingar, meðhöndlun veikleika og samræmt birtingarferli. Þeim skyldum er sinnt í smíðaferlinum en ekki í skjali, og að hafa ferilinn, skrána og skönnunina í einu kerfi sem þú rekur sjálfur gerir framleiðslu sönnunargagna talsvert minna kvalafulla en að safna þeim frá fjórum söluaðilum.
Hvenær á að sleppa því
Ef þið eruð undir tuttugu verkfræðingum án reglubundins þrýstings og án sterkra skoðana á því hvar kóðinn býr, takið þá SaaS-lausnina. GitLab.com og GitHub eru bæði framúrskarandi, og rekstrarvinnan mun kosta meira en áskriftin.
Ef fyrirtækið þitt situr djúpt í vistkerfi GitHub skaltu telja heiðarlega hvað þú myndir missa. Actions, markaðstorgið og hrein kunnugleiki vettvangsins hjá hverjum umsækjanda sem þú ræður eru raunverulegar eignir, og svarið er ekki sjálfkrafa að GitLab vinni.
Og ef enginn ætlar að eiga tilvikið skaltu ekki byrja. GitLab verðlaunar þann sem uppfærir það, fylgist með keyrsluflotanum og prófar endurheimtina. Án þeirrar manneskju hrörnar það í óuppfærðan kassa sem geymir verðmætustu eign þína, sem er verra en sú SaaS-lausn sem þú varst að reyna að yfirgefa.
Hvernig við getum hjálpað
Við setjum upp og rekum sjálfhýsta þróunarinnviði fyrir fyrirtæki sem starfa í Evrópu, þar með talið þá hluta sem enginn hefur gaman af: uppfærsluraðir gegnum skyldubundna viðkomustaði, keyrsluflota sem skala sig sjálfkrafa rétt, flutninga yfir í hlutageymslu og afritunarkerfi sem hafa raunverulega verið endurheimt.
Ef þú vilt GitLab-tilvik sem er heiðarlega skammtað, flutning frá GitHub skipulagðan af einhverjum sem hefur gert endurritun CI áður, eða yfirferð á því hvort núverandi afrit þitt myndi lifa af árekstur við raunverulega bilun, skrifaðu á office@c9group.dev. Meira um innviðavinnu okkar á síðunni um hagræðingu AWS-kostnaðar.
Ef þú ert að setja saman heilan sjálfhýstan stafla gildir sama röksemdafærsla um greiningu, markaðssjálfvirkni og teymissamskipti.
Birt: 8. ágúst 2026 Flokkar: DevOps, Opinn hugbúnaður, Persónuvernd