GitLab - nástroj na správu, verzování, CI/CD a vedení projektů

5. listopadu 2019

Lang: cs en de es

Pokud se něco dělá (typicky vývoj software) jedná se obvykle o projekt a ten je potřeba nějak vést. Na malé krátkodobé úkoly často stačí provádět pravidelný zápis, ale to už záleží na volbě. Je potřeba zapisovat informace o projektu - tedy tvořit dokumentaci. Jednou mojí dokumentací jsou Zdrojové kódy programu je potřeba verzovat, to proto, aby jste se mohli efektivně orientovat v postupném vývoji a nasazovat efektivně změny. A ideální je rutinní prací automatizovat.

Vezování

git

Prní věcí, která by se měla při vývoji softwaru udělat je zdrojový kód aplikace verzovat. Bez toho se nedá dělat žádný pořádný a efektivní vývoj. Standardem pro verzování je dneska (rok 2019) GIT, který byl primárně vyvinut pro Linuxový kernel, ale díky jeho kvalitám se rozšířil tak, že převálcoval veškeré ostatní nástroje, které byly určené k verzování zdrojových kódů

Video na téma verzování

Nástroje na řízení projektů

Již dlouho existuje výborný nástroj redmine, který je na vedení úkolů. V oblasti vývoje software se rozšířili hojně nástroje jako GitHub a Bitbucket, které jsou řešené formou webové aplikace. Funkčnosti, které má GitHub a Bitbucket obsahuje i výborný nastroj GitLab, který přináší i další možnosti propojení a navíc ho můžete provozovat na vlastním serveru, který budete mít pod vlastní kontrolou.

Co umí GitLab

GitLab toho umí hodně tady jsou jeho hlavní vlastnosti a funkčnosti:

  • GitLab je webová aplikace
  • Správa uživatelů a jejich práv
  • Vedení Git repositářů
  • Zobrazení změn, které byly provedeny v Git repositář
  • Vedení úkolů
  • CI/CD - automatizace začleňování změn a nasazování
  • Wiki - vedení dokumentace

Požadavky

Jako pro většinu technologií, které popisuji je potřeba pro GitLab server s Linuxem. GitLab používá databázi PostgreSQL. GilLab se běžně instaluje s web serverem Nginx, ale muže před ním být i jako proxy web server Apache - to například, když už máte web server Apache nainstalován a nechcete/nemůžete měnit webserver. GitLab používá Redis (jako cache). GitLab je napsán v jazyce Ruby konkretně ve webovém frameworku RubyOnRails

Zde je komentované video z instalace GitLabu:

Pokud nemáte zkušenosti se správou Linuxu a instalací serverových aplikací, doporučuji si nechat provést instalaci GitLabu odborně s následnou podporo, aktualizací a nechat se zaškolit.

Praktické použití

První co budete muset v GitLabu udělat je založit uživatele. Následně založíte projekt a jednotlivým uživatelům pak přiřadíte dle potřeby práva k projektu.

Uživatel s dostatečným oprávněním si může repozitář stáhnout a pushovat změny. Ve webovém rozhraní je pak možno si tyto jednotlivé změny (commity) prohlížet.

Pomocí webového rozhraní Gitlabu můžete dělat forky projektu, mergovat větve atd...

V Gitlabu můžete vytvářet úkoly (issue), které je potřeba řešit. A následně těmto úkolům a přiřazovat s stav a dát úkol někomu na starost. Úkolům je možno přiřazovat i štítky a podle toho je později filtrovat. Úkol má i stavy: například otevřeno, schváleno, otestováno, nasazeno, uzavřeno a je možné vytvářet i další vlastní stavy. U jednotlivých úkolů je samozřejmě možno přidávat komentáře a přílohy. Úkoly můžete prohlížet nebo je můžete přehledně vizuálně sledovat na Boardu (deska). Úkoly mohou být přiřazeny do určité milestone, což je etapa ve které je potřeba splnit dané úkoly. Typicky to mohou být funkce, které je potřeba realizovat pro splnění nějaké komplexní funkčnosti.

GitLab má integrovanou Wiki a do ní uživatelé mohou zapisovat poznámky a tvořit dokumentaci projektu.

GitLab je možno i nastavit, aby spouštěl automaticky build aplikace. Automaticky spustil testy a případně i nasadil aplikaci do provozu.

GIT

Video návod základy použití GITu:

GitLab video návody

Krátké video návody jak používat GitLab a jeho jednotlivé funkce. Všechny návody jsou v youtube playlistu GitLab.

GitLab - založení projektu

V tomto video návodu uvidíte jak se přihlásit do projektu, jak založit projekt a jak k sobě naklonovat Git repositář u dělat změnu a tu pushnout do centrálního repositáře.

GitLab - založení úkolu/issue

Video návod jak vytvořit v GitLabu issue/úkol, jak ho vyplnit, jaké má možnosti a jak s úkolem pracovat.

GitLab - tabule/board

Názorný návod pomocí videa jak vypadá board/tabule v GitLabu, k čemu slouží a jak ji používat.

Závěr

GitLab se dá v dnešní době (rok 2019) považovat za nutný základ, pro efektivní vývoj a spolupráci při realizaci softwarových projektů. Verzuje zdrojový kód projektu a při více lidech a dlouhodobých projektech používejte nástroj na vedení projektů!

Pro psaní a verzování ddkuentace, kde výsledkem má být PDF dokument se hodí nástroj LaTex, pomocí něhož jsem vytvořil i Ebook: Poznámky správce linuxových serverů.

Články na podobné téma

Tisk obrázků v Linuxu
Umělá inteligence: Dalle2, Chat GPT
Návrh aplikací technikou UML za použití nástroje Umbrello
Nextcloud - data a aplikace v cloudu
How to install clubhouse to Android?

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+