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.

Reklama

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: 

Reklama

Komentáře

Jak bys to srovnal s GitLabem?

Ř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.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

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

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.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

Přidat komentář