GitLab

GitLab

Last modified by Jakub Jirůtka on 2014-01-23, 15:10

GitLab je moderní (nejen) webový správce Git repozitářů, velmi inspirovaný populární službou GitHub. Svou koncepcí je tedy zaměřený primárně na práci se zdrojovým kódem, čímž se odlišuje od klasických „manažerských“ nástrojů typu Redmine. Oproti GitHubu je určený do prostředí intranetu, pro neveřejné projekty.

Hlavní komponentu tvoří komfortní prohlížeč kódu s úzkou návazností na Git. Stejně jako GitHub umožňuje psaní komentářů k jednotlivým commitům či přímo konkrétním řádkám kódu. Poskytuje minimalistický issue tracking, který uživatele neobtěžuje zbytečnými políčky. Samozřejmě nechybí ani jednoduchá wiki a všudepřítomná podpora syntaxe Markdown.

Podporuje tzv. merge requests (obdoba pull request z GitHubu) – vytvoření požadavku na začlenění commitů z jedné vývojové větve do druhé, o kterém pověření členové mohou rozhodnout, zda ho začlenit či nikoli, případně u něj vést diskuzi (vhodné pro revizi kódu od přispěvovatelů).

Jak ho začít používat?

Gitlab běží na adrese https://gitlab.fit.cvut.cz/ a má do něj přístup kdokoli z akademické obce ČVUT; přihlásíte se svým loginem a Heslem ČVUT.

Doporučení

  • Domníváte-li se, že by váš projekt mohl být užitečný i lidem mimo fakultu, umístěte ho (zároveň i) na GitHub! Máme na něm i vlastní „organizaci“ ČVUT, v rámci které je možné vytvářet týmy. Pro přidání do organizace mě kontaktujte na e-mailu.
  • Nemáte-li rozumný důvod k utajování (např. pracujete na přísně tajném projektu, stydíte se za svůj kód, …), nastavte svůj projekt jako „veřejný“ pro přihlášené uživatele (tzn. akademickou obci FIT, popř. kolegy z FEL).
  • Chcete-li mít větší kontrolu nad hlavní vývojovou větví, tak využívejte merge requests.
    • Nastavte hlavní větev (master) jako chráněnou (Commits → Branches → Protected: Branch master protect!) – tím do ni budou moci zapisovat pouze Správci (viz role).
    • Roli Správce dejte pouze hlavním vývojářům, kteří udržují hlavní větev a jsou za projekt zodpovědní.
    • Ostatním přispěvovatelům přidělte roli Vývojář a instruujte je, aby si v případě touhy přispět něčím do projektu vytvořili svou větev a až budou hotovi, tak přes GitLab poslali žádost o začlenění do hlavní větve (merge request). Správce se může na žádost podívat, příp. nad ní diskutovat a přijmout.
  • Diskutujte věcně a přímo nad kódem! GitLab umožňuje psát komentáře i pod jednotlivé commity nebo dokonce řádky kódu.
  • Buďte otevření, nebojte se projekt otevřít komunitě (v našem případě akademické obci fakulty) a umožnit ostatním se do něj zapojit.

Role a práva

GitLab u členů projektu rozlišuje čtyři role, ke kterým se pojí příslušná práva.

Host (Guest)

Host vidí základní informace o projektu, přehled oznámení, přílohy, útržky kódu (snippets), úkoly (issues), žádosti o začlenění (merge requests), stěnu a wiki. Může vytvářet nové úkoly, psát komentáře a zanechávat zprávy na zdi.

Co je podstatné, nemá žádný přístup ke kódu. Tato role se tedy hodí nejvýše pro prosté uživatele, nikoli (potenciální) spolupracovníky.

Reportér (Reporter)

Reportér získává navíc přístup do repozitáře pro čtení (přes web i [Git]), může si projekt stáhnout v TAR archivu a přidávat útržky (snippets). Tuto roli získají všichni přihlášení uživatelé, když projekt nastavíte jako „veřejný“.

Vývojář (Developer)

Vývojář už získává přístup do repozitáře i pro zápis. Může přispívat (git push) do nechráněných větví, rovněž je rušit a zakládat nové. Dále má právo přidávat štítky (git tags) a psát na wiki stránky.

Správce (Master)

Správce může přidávat nové členy projektu (vč. přiřazení rolí), měnit nastavení a informace o projektu, konfigurovat háčky (hooks) a přidávat SSH klíče s právem ke čtení repozitáře (deploy key). Dále má právo přispívat do chráněných větví, rovněž je odstraňovat i nastavovat a také používat sílu (git –force`).

Podělte se o svůj názor!

Máte nápad na nějaké vylepšení či kritiku? Chtěli byste v rámci semestrální či bakalářské práce napsat nějaké rozšíření do GitLabu a přispět tím své fakultě i open-source komunitě? Napište mi na e-mail!

GitLab je open-source software postavený na Ruby on Rails. → více

Tags: git aplikace
Created by Jakub Jirůtka on 2013-04-06, 02:54

This wiki is licensed under a Creative Commons BY-SA 3.0 license
XWiki Enterprise 5.4.1 - Documentation