přihlášení | pravidla | SSH | základy | sdílení | e-mailové odpovědi | skupiny | odkazy

GitLab

GitLab je webový manažer Git repozitářů, podobný známé službě GitHub. Kromě správy repozitářů (které se zde nazývají projekty) umí GitLab zejména také Wiki a Issue tracking.

Přihlášení

Pokud máte na Fakultě informatiky aktivní účet, můžete se přihlásit pomocí LDAP autentizace na následujícím URL:

https://gitlab.fi.muni.cz/

Zadejte svůj fakultní login a heslo, účet se po prvním přihlášení automaticky vytvoří.

Osoby bez fakultního účtu musí požádat o vytvoření externího účtu. Pošlete e-mail se žádostí a odůvodněním správcům. Pro přihlášení pak použijte Standard autentizaci.

Platnost účtu

Účet v GitLabu spojený s fakultním účtem je platný pouze pokud je fakultní účet aktivní a neblokovaný. Pokud dojde k zablokování nebo ukončení platnosti fakultního účtu, zablokuje se také přístup do GitLabu včetně SSH klíčů.

Pravidla používání

  • je zakázáno měnit své jméno i přesto, že to GitLab umožňuje
  • je zakázáno měnit cestu skupiny (group path)
  • repozitáře nejsou určeny pro vkládání velmi velkých souborů
  • limit na velikost všech repozitářů v součtu je 1,5 GB (velikost jednotlivých repozitářů může snížit funkce ProjectSettingsHousekeeping)
  • dbejte na dodržování provozních pravidel

SSH klíč

Pokud chcete pracovat s repozitářem ze svého počítače bez nutnosti pokaždé zadávat heslo, můžete si do svého profilu nahrát veřejný SSH klíč. Postupujte podle návodu, zde uvedeme pouze tipy zejména pro UN*X systémy.

Vytvoření SSH klíče

Program ssh-keygen pri vytváření klíče může požádat o zadání hesla. Není to povinné, použití klíče bez hesla je pak jednodušší, nicméně bezpečnější je klíč s heslem.

Použití klíče bez hesla

Otestovat funkčnost klíče můžete příkazem

ssh -i $cesta_ke_PRIVATNIMU_klici git@gitlab.fi.muni.cz

Výstup příkazu by měl být podobný následujícímu:

Welcome to GitLab, (Jmeno, Prijmeni)
Connection to gitlab.fi.muni.cz closed.

Přidejte následující řádky do ~/.ssh/config (soubor nemusí dosud existovat):

Host gitlab gitlab.fi.muni.cz
    HostName gitlab.fi.muni.cz
    IdentityFile cesta_ke_PRIVATNIMU_klici

Význam jednotlivých řádků viz ssh_config(5). Vyzkoušejte, že příkaz ssh git@gitlab má stejný výstup jako výše i bez explicitního uvedení klíče.

Použití klíče s heslem

Pokud tento typ klíče budete používat jako by byl bez hesla, bude každá operace s GitLabem požadovat heslo ke klíči, což nepřináší téměr žádné výhody oproti běžnému přihlašování. S pomocí SSH agenta lze klíč odemknout pouze jednou a pak používat opakovaně:

ssh-agent $SHELL
ssh-add ~/.ssh/id_gitlab

První příkaz spustí agenta, který pak spustí nový shell z proměnné $SHELL. Pokud váš shell tuto proměnnou nenastavuje, zadejte místo ní cestu k programu (např. /bin/sh). Ukončením shellu se ukončí i agent. Více informací o příkazech viz manuálové stránky pro ssh-agent(1) a ssh-add(1).

Pozor, ve starší verzi této dokumentace a na různých diskuzních fórech lze najít postup, který používá příkaz eval $(ssh-agent -c) nebo jemu podobný. Nedoporučujeme tento postup používat, protože nezaručuje korektní ukončení agenta.

Základy používání

Dokumentaci k funkcím GitLabu naleznete na stránce nápovědy. Zejména doporučujeme

Sdílení repozitáře

Pokud chcete zpřístupnit repozitář dalším lidem nad rámec "viditelnosti" projektu (Private, Internal nebo Public), můžete je nastavit jako členy (members) projektu, viz přidávání členů.

Pokud chcete zpřístupnit privátní nebo interní projekt osobě bez fakultního účtu a dané osobě stačí pouze přístup pro stáhnutí projektu (tj. nepotřebuje přístup k Issues, wiki atd.), můžete použít Deploy keys (v podstatě read-only přístup k projektu pomocí SSH klíče). Pokud se požaduje přístup k dalším službám nebo možnost do projektu přispívat, musí se projekt zveřejnit nebo se musí pro osobu vytvořit externí účet (žádejte u správců).

E-mailové odpovědi

Fakultní GitLab má povolenou funkci Reply by E-mail, která umožňuje odpovídat na komentáře, "issues" a "milestones" přímo e-mailem. Pro správné fungování je však důležité dodržet několik pravidel:

  • odpovídejte přímo na doručený e-mail použitím funkce Reply, nepište nový e-mail
  • pište vaši odpověď pouze nad citaci nebo nejlépe citaci smažte, GitLab totiž nemusí citaci odstranit správně
  • pokud svoje e-maily digitálně podepisujete, k odpovědi do GitLabu raději podpis nepřidávejte

V e-mailu lze používat Markdown a lze přidat přílohy, ty se pak objeví jako přílohy v odpovědi v GitLabu.

Skupiny

Funkce vytváření vlastních skupin je v GitLabu vypnuta, aby nemohlo dojít ke kolizi se synchronizovanými skupinami. Pokud potřebujete vytvořit vlastní skupinu nebo chcete povolit synchronizaci skupiny, kontaktujte správce.

GitLab vám pošle e-mail, pokud se stanete členem některé skupiny.

Pokyny pro vlastníky synchronizovaných skupin

V žádosti o vytvoření skupiny uveďte

  • iniciálního vlastníka skupiny, pokud skupina nemá správe ve fakultní administrativě
  • výchozí oprávnění pro členy

Pro předmětovou skupinu se studenty doporučujeme oprávnění Reporter, pro ostatní Developer. Práva pak lze upravovat v GitLabu pro jednotlivé uživatele zvlášť.

Pro skupiny, které jsou synchronizovány s Fakultní administrativou platí speciální omezení pro právo Owner. Synchronizační skript toto právo uděluje pouze správcům. Pokud běžnému členovi udělíte toto právo, po synchronizaci o něj přijde.

Nastavení skupiny

Pokud vám bylo uděleno právo vlastníka skupiny, GitLab vám umožní měnit její nastavení. Můžete změnit název nebo popis, ale v žádnem případě neměňte cestu (path). Technicky nelze v GitLabu tuto možnost zakázat, nicméně může způsobit konflikty při synchronizaci nových skupin.

Skupiny jsou implicitně synchronizovány s viditelností Private. Toto nastavení lze změnit na Internal nebo Public v SettingsGroup Visibility.

Další odkazy a návody

Odpovědný kontakt: unix(atsign)fi(dot)muni(dot)cz