Gogs je najjednoduchší spôsob, ako spustiť lokálny server Git (tu je návod, ako ho nastaviť)


Nechcete poslať svoj kód do hostovaného úložiska Git? Potom spustite svoj vlastný server Git interne. Gogs je najjednoduchší spôsob, ako to urobiť. Tu je návod, ako to nastaviť.

Problém s cloudovými úložiskami

Git je bezpochyby popredným systémom na správu verzií. Aj pri projektoch s jedným vývojárom poskytuje Git hodnotu a výhody vďaka svojej funkcionalite verzií. Pre projekty viacerých vývojárov prináša Git úplne iný rozmer. S centrálnym vzdialeným úložiskom Git umožňuje spoluprácu, ktorá zmení spôsob, akým vaše vývojové tímy vnímajú správu verzií.

To je dôvod, prečo existujú služby ako GitHub, GitLab a BitBucket a preto zaznamenali taký nárast a rozšírenie. Len GitHub hostí viac ako 200 miliónov úložísk. Repozitáre hostené v cloude však nevyhovujú každému. Väčšina z nich si účtuje za hosťovanie súkromných úložísk. Niektoré z nich ukladajú limity úložiska, limity používateľov alebo limity prenosu údajov na bezplatné účty.

Aj keď vaše využitie a veľkosť tímu zapadajú do obmedzení bezplatných účtov, alebo ak ste ochotní zaplatiť za komerčnú licenciu, nemusíte sa cítiť pohodlne ukladať základňu kódu v cloude.

Alternatívou je hosťovanie vlastného servera Git buď lokálne vo vlastnej sieti, alebo súkromne prístupné vo vašom vlastnom súkromnom cloude. Nastavenie servera Git, ktorý poskytuje webové rozhranie so vzhľadom, štýlom a možnosťami, ktoré si GitHub a priatelia tak obľúbili, si vyžadovalo určitý stupeň technických zručností. Tu prichádza Gogs.

Čo je Gogs?

Gogs je relatívne nový projekt napísaný v programe Go, ktorý poskytuje inštanciu Git s jednoduchou inštaláciou, ale plne vybavenú. Neexistujú žiadne obmedzenia týkajúce sa veľkosti tímu, úložiska alebo čohokoľvek iného.

Aj keď ste amatérsky programátor, používanie Gogs ako služby Git vo vašej lokálnej sieti vám umožní uložiť kópiu kódu mimo vášho vývojového počítača. Keď vy alebo niekto iný chcete pracovať na inom alebo novom počítači, jednoducho naklonujete úložisko zo servera Gogs rovnako ako na GitHub.

Ak budete Gogs používať často, pravdepodobne bude pre vás výhodné pridať ho do spúšťacích aplikácií počítača, na ktorom beží.

Ako nainštalovať Gogs

Ak chcete nainštalovať Gogs, stiahnite si príslušný archívny súbor, rozbaľte ho a spustite hlavný binárny súbor. Vyplníte niekoľko formulárov a Gogs inicializuje vaše úložisko a pridá vás ako správcu. Potom môžete prechádzať do svojej inštancie Gogs a pridávať používateľov a vytvárať archívy.

Gogs používa databázu pre svoje koncové úložisko. Podporuje MySQL, MariaDB, PostgreSQL a TiDB. Ak chcete použiť jeden z týchto výkonných databázových strojov, musíte si ho vyhľadať a nainštalovať sami pred inštaláciou Gogs. Pre menšie tímy môžete použiť SQLite3. Ak sa rozhodnete pre SQLite3, je nainštalovaný za vás. Samozrejme, musíte mať nainštalovaný aj git.

Stiahnite si príslušný binárny súbor.

  • Pre väčšinu moderných distribúcií Linuxu si stiahnite súbor „Linux amd64“.
  • Ak používate 32-bitovú verziu systému Linux, stiahnite si súbor „Linux 386“.
  • Ak inštalujete na Raspberry Pi 2 alebo staršie, stiahnite si súbor „Linux armv7“.
  • Ak inštalujete na Raspberry Pi 3, 3+ alebo novší, stiahnite si súbor „Linux armv8“.
  • Ak používate Intel Mac, stiahnite si súbor „macOS amd64“.
  • Pre Apple Silicon Mac si stiahnite súbor „macOS arm64“.

Stiahli sme súbor ZIP „Linux amd64“ na inštaláciu do 64-bitového počítača s Ubuntu 22.10. Súbor je malý – len asi 25 MB – takže nebuďte prekvapení, ak sa stiahne veľmi rýchlo. to je normálne.

Nájdite súbor vo svojom systéme súborov. Ak ste si ponechali predvolené umiestnenie sťahovania v prehliadači, súbor bude pravdepodobne vo vašom adresári „~/Downloads“. Kliknite naň pravým tlačidlom myši a v kontextovej ponuke vyberte možnosť „Extrahovať“. Niektoré prehliadače súborov môžu namiesto toho použiť možnosť „Extrahovať sem“.

Zo súboru ZIP sa extrahuje adresár. Je pomenovaný podľa stiahnutého súboru. V našom prípade sa to nazývalo „gogs_0.11.91_linux_amd64“.

Dvakrát kliknite na extrahovaný adresár a uvidíte ďalší adresár s názvom „gogs“.

Dvakrát kliknite na adresár „gogs“. Uvidíte súbory a adresáre Gogs. Kliknite pravým tlačidlom myši v okne prehliadača súborov a v kontextovej ponuke vyberte možnosť „Otvoriť v termináli“.

Ak chcete spustiť inštanciu Gogs, zadajte tento príkaz:

./gogs web

Gogs sa spustí a povie vám, že počúva na porte 3000.

Pripojte sa k svojmu serveru Gogs otvorením webového prehliadača a prechodom na adresu IP alebo názov siete počítača, na ktorom je Gogs spustený. Za IP adresu alebo názov siete pridajte „:3000“. Nezahŕňajte žiadne medzery.

Ak prehliadate na počítači, na ktorom beží Gogs, ako názov počítača môžete použiť „localhost“, napríklad „localhost:3000“. Náš počítač Gogs sa nazýva „ubuntu-22-10.local“, takže z iného počítača v rovnakej sieti musíme prejsť na adresu „ubuntu-22-10.local:3000“ vrátane čísla portu.

Keď to urobíte prvýkrát, zobrazí sa formulár, ktorý obsahuje niektoré informácie o úvodnom nastavení.

Prvá vec, ktorú musíme urobiť, je vybrať „SQLite3“ z rozbaľovacej ponuky „Typ databázy“ a zadať svoje používateľské meno do poľa „Spustiť používateľa“.

Ak chcete nastaviť e-mailové upozornenia, budete musieť nakonfigurovať niekoľko ďalších krokov. E-maily budete musieť prenášať prostredníctvom poštového servera SMTP (Simple Mail Transfer Protocol), na používanie ktorého máte povolenie. Ak ste používateľom služby Google Gmail, môžete použiť server SMTP služby Gmail.

To si bude vyžadovať nastavenia na poštovom serveri, aby váš účet mohol prijať a odoslať e-mail. Tieto nastavenia sa líšia v závislosti od poštového servera.

Gogs vyžaduje, aby ste zadali nasledujúce informácie o vašom e-mailovom serveri.

  • Hostiteľ SMTP: adresa a port e-mailového servera. V našom príklade ide o server SMTP spoločnosti Google na adrese smtp.gmail.com:587.
  • Od: E-mailová adresa, z ktorej bude odoslaný e-mail. V prípade Gmailu by to mala byť e-mailová adresa Gmail účtu, ktorý používate.
  • E-mail odosielateľa: Musí byť rovnaký ako vyššie. Toto je ID e-mailového účtu, ktoré bude Gogs používať na komunikáciu so serverom SMTP.
  • Heslo odosielateľa: Toto nie je heslo pre účet Gmail. Ide o heslo pre konkrétnu aplikáciu, ktoré získate od spoločnosti Google, keď nakonfigurujete svoj účet tak, aby aplikácia mohla odosielať e-maily vo vašom mene.
  • Povoliť potvrdenie registrácie: Ak chcete, aby Gogs overoval e-maily používateľov, začiarknite toto políčko. Noví používatelia dostanú e-mail s odkazom. Musia kliknúť na, aby dokázali, že e-mailová adresa je pravá a je pod ich kontrolou.
  • Povoliť e-mailové upozornenia: Začiarknutím tohto políčka povolíte e-mailové upozornenia od Gogs.

Samozrejme, ak nechcete byť obťažovaní e-mailami, môžete preskočiť všetky nastavenia e-mailu.

Keď budete pripravení pokračovať, kliknite na modré tlačidlo „Install Gogs“. Gogs zapíše konfiguračný súbor, inicializuje úložisko databázy a spustí vašu inštanciu Git.

Zobrazí sa hlavná domovská stránka Gogs.

Prvému používateľskému účtu, ktorý vytvoríte, budú automaticky pridelené administrátorské práva. Kliknite na odkaz „Registrovať“.

Vyplňte formulár „Registrácia“ s názvom svojho účtu, heslom pre tento účet (zadajte ho dvakrát) a číslicami z Captcha. Kliknite na zelené tlačidlo „Vytvoriť nový účet“. Zobrazí sa stránka „Prihlásiť sa“.

Zadajte názov účtu a heslo a kliknite na zelené tlačidlo „Prihlásiť sa“.

Rýchla prehliadka Gogsa

Ak ste oboznámení s akoukoľvek inou inštanciou Git s prístupom na web, v Gogs sa zorientujete veľmi ľahko.

Zobrazenie „Dashboard“ Gogs je trochu riedke, kým nebudete mať úložisko, s ktorým môžete pracovať. Kliknite na modré tlačidlo „+“ a vyplňte formulár „Nové úložisko“.

Žiada o názov úložiska, či už je súkromný alebo verejný, a popis.

Ďalšie tri polia vytvárajú súbory zo šablón.

  • Ponuka „.gitignore“ vám umožňuje vybrať šablónu pre váš súbor „.gitignore“ nakonfigurovaný s nastaveniami podľa vybratých jazykov. V tejto ponuke môžete vybrať viac ako jednu možnosť, aby ste vyhoveli úložiskám, ktoré používajú zmes vývojových technológií.
  • Ponuka „Licencia“ vám umožňuje vybrať licenciu z komplexného zoznamu.
  • Ponuka „Readme“ má jedinú možnosť, predvolený súbor „README.md“.

Začiarknite políčko „Inicializovať toto úložisko s vybranými súbormi a šablónou“ a kliknite na zelené tlačidlo „Vytvoriť úložisko“.

Zobrazí sa vám vaše nové úložisko. Gogs pre nás vytvoril naše tri štandardné súbory a pridal ich do úložiska so správou odovzdania „Initial commit“.

Úložisko sme naklonovali do nášho počítača, pridali sme súbor s názvom „ack.c“, odovzdali ho a vložili do nášho vzdialeného úložiska Gogs. Všetko sa to dialo pomocou štandardných príkazov Git.

Ako sa očakávalo, náš nový súbor sa zobrazí v našom úložisku Gogs.

Kliknutím na súbor sa nám zobrazí obsah jednotlivého súboru. Súbory Markdown sú pre vás interpretované pomocou nadpisov, odkazov, zoznamov a všetkých ostatných funkcií Markdown. Súbory „README.md“ sa zvyčajne píšu v Markdown.

Kliknutím na ikonu ceruzky „Upraviť“ môžeme priamo upraviť náš súbor „README.md“. Pridali sme ďalší text, použili značky Markdown na vloženie hypertextových odkazov a kurzívy a vykonali sme zmeny. Všetko zvnútra Gogsa.

Späť v zobrazení nášho úložiska je zobrazený náš aktualizovaný súbor „README.md“ a položka „README.md“ v zozname súborov zobrazuje novú správu odovzdania a čas aktualizácie.

Najjednoduchší server Git – Bar Žiadny

Gogs je absolútny triumf. Dokonale spája funkčnosť s jednoduchosťou.

Hneď po vybalení uspokojí potreby väčšiny nadšencov alebo malých vývojárskych tímov. Niektoré z jeho pokročilých možností sa aktivujú úpravou konfiguračného súboru, ktorý sa štandardne nachádza na adrese „~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini“. Upozorňujeme, že cesta bude odrážať verziu Gogs, ktorú používate.

Všeobecnú správu systému je možné vykonávať z administračného panela, ktorý nájdete na Váš profil > Admin panel.

Hoci dokumentácia Gogs je stručná až stručná, znamená to, že je ľahké nájsť to, čo hľadáte, a popisy sú dostatočne podrobné, aby ste ich mohli sledovať.

Ak sa obávate o úložiská hostené v cloude, ktoré sú v konečnom dôsledku pod kontrolou iných, zvážte lokálne použitie Gogs. Neprídete o funkčnosť, ale získate kontrolu a zaručené súkromie.