Gogs: vaše vlastní hostovaná alternativa GitHubu

Jako správní vývojáři určitě ukládáte různé verze svého kódu. Nebo to určitě v nejbližší době plánujete. Ale možná vás trochu odrazuje ukládání kódu někam ke třetí straně, ať už je to GitHub, BitBucket nebo něco jiného. Vyzkoušejte hostovanou alternativu vzdáleného úložiště pro git, které také nabízí komfortní prohlížení souborů a změn z webového prohlížeče.

Z různých důvodů dávám přednost ukládání projektů do gitu, jehož úložiště mám umístěno na Synology NAS. Rozběhání této konfigurace bylo poměrně jednoduché, na druhou stranu mi chybělo nějaké uživatelské rozhraní pro sledování toho, co se v repositáři děje. A to přesto, že pro práci s gitem používám především příkazový řádek a výjimečně zabudované funkce v PhpStorm.

Zkrátka. Chtěl jsem něco jako je GitHub. Tedy funkce, které nabízí ve vztahu k repositáři verzovaného kódu. Nikoli hosting a další služby. Chtěl jsem mít možnost otevřít si repositář přes webový prohlížeč, kouknout se, jaké v něm kdo kdy udělal změny a případně mít možnost si je jednoduše stáhnout. To vše ideálně umístěné na mém vlastním serveru.

Pátral jsem po podobném řešení před delší dobou, ale nevzpomínám si, že bych našel něco zajímavého. A pak jsem zčista jasna zabloudil v internetových vodách na webové stránky projektu Gogs.

Gogs je přesně to, co jsem popsal výše. Tedy open source (MIT License) projekt nabízející komfort pro práci s Gitem a hostovaný vašimi vlastními silami.

Kde rozběhat Gogs a vlastní Git

Zalíbil se mi popis nástroje i jednoduchý design webu. Na rozdíl od jiných webových aplikací, na které jsem zvyklý, to ovšem není produkt napsaný v PHP. Gogs je vytvořen v programovacím jazyku Go a běhá všude tam, kde je možné jej zkompilovat.

Gogs - úvodní přehled

Zprovoznění na webu vyžaduje stažení binárky pro vaši platformu (Linux, Windows, macOS či Raspberry Pi) a její instalaci přes příkazový řádek. K dispozici jsou i balíčky třetích stran pro Ubuntu, CentOS, Debian či Arch Linux. A také pro Synology NAS. Právě to se mi hodilo, nechtěl jsem Gogs dávat někam na virtuální server, umístění v NASu mi plně vyhovuje.

V případě Synology to tedy vyžadovalo povolení instalace třetích balíčků spk v DiskStation Manageru, zapnutí Gitu a MariaDB. Balíček s Gogs jsem nahrál, otevřel připravenou URL a mohl se pustit do nastavení Gogs ve webovém prohlížeči.

V prohlížeči ale už jen vyplňujete základní údaje pro připojení k databázi (je nutno si ji tedy předtím připravit) a vytvoříte prvního uživatele v Gogs. Ten zároveň slouží jako správce celé aplikace.

Co všechno Gogs dovede?

Pokud jste někdy pracovali s GitHubem, budete zde jako doma. Po přihlášení vám Gogs zobrazí seznam posledních aktivit, možnost přepínání a filtrování uživatelů a přehled repositářů. Kromě toho zobrazuje také přehled úkolů (issues) napříč projekty, požadavky na natažení (pull requesty) a prohlížeč umístěných repositářů s vyhledáváním.

Gogs - detail repositáře

Pro každý z připravených repositářů určujete vlastníka, název či viditelnost, kdy chcete mít něco soukromé a jiné repositáře veřejné. Líbí se mi výběr šablon pro soubor .gitignore a pro licenční ujednání. Stačí kliknout do políčka a najít si šablonu pro ignorování souborů v Drupalu, WordPressu, Symfony, aplikaci pro Android a mnoha jiných.

V detailu repositáře uvidíte klasicky přehled souborů a složek s poznámkou k poslední změně, kterou jste do repositáře poslali. Pod soubory je zobrazen obsah souboru README.md, tedy se zformátovanou syntaxí markdown.

Gogs - zobrazení změn

Funguje tu přepínání revizí, větví i vytváření vydání. S repositářem lze komunikovat přes http i přes ssh. Ke každému z projektů je zobrazen seznam úkolů, který zobrazuje buď klasické issues s možností štítkování, nastavení milníků a zpracovatelů, případně může jen odkazovat na jinou stránku.

Prostřednictvím Gogs si ke každému z repositářů také volitelně vytvoříte Wiki. Tedy jednoduché stránky s dokumentací nebo čímkoli dalším, co uznáte za potřebné k projektu poznamenat.

Gogs - wiki

Podobně jako na GitHubu lze projekty „lajkovat“ hvězdičkou a sledovat v nich změny. Co se týče správy Gogs jako takového, nechybí tu hromadné akce pro manipulaci s uživatelskými účty i repositáři. Myslím, že je zde vše, co byste očekávali.

Uživatelské účty jsou volitelně napojené na Gravatar, registrace může být podmíněna ověřením mailu nebo zcela vypnuta, pokud Gogs používáte jen v rámci omezeného okruhu uživatelů.

Gogs - admin panel

Gogs používám zatím jen pár dní, ale nenarazil jsem zatím na žádný problém a v tuto chvíli vám jej mohu s klidným svědomím doporučit. Příjemná je zcela jistě i skutečnost, že nabízí do češtiny přeložené uživatelské prostředí.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Profile picture for user Jan Polzer

Řekl bych, že Gogs má méně funkcí a je pro mě přehlednější. GitLab skoro nepoužívám, takže více porovnat asi nemohu.

návštěvník

Koukám, že existuje taky fork Gitea. Zkoušel jsi ho? A pokud ano, proč vyhrál Gogs?

Profile picture for user Jan Polzer

Nezkoušel. Gogs má vše, co od toho potřebuju, včetně instalačního balíčku pro Synology NAS. U Gitea jej nevidím.

návštěvník

Ahoj,
a kde jsi stáhl prosím binárku pro synlogy? Našel jsem jen na githubu 2 roky starou...

návštěvník

Zdravím.
Chtěl bych poprosit o radu. Mám synology DS218j, kde jsem si zprovoznil git server a k němu bych chtěl připojit např. raspberry s gogs. Tzn. všechny zdrojáky udržovat na tom synology git serveru a správu jak popisujete výše bych chtěl mít na např. raspberry. A tady je kámen úrazu. Nemám tušení, jak tyto dvě věci propojit.

Tzn. gogs zprovozním, ale jak jej připojit už ke stávajícímu soukromému git serveru? Díky za radu

Jirka

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru