GitLab - nástroj na správu, verzování, CI/CD a vedení projektů
5. listopadu 2019Pokud 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.
Verzování

První 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ý slouží k vedení úkolů. V oblasti vývoje software se hojně rozšířily nástroje jako GitHub a Bitbucket, které jsou řešené formou webové aplikace. Funkčnosti, které mají GitHub a Bitbucket, obsahuje i výborný nástroj 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áři
- 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 i pro GitLab potřeba server s Linuxem. GitLab používá databázi PostgreSQL. GitLab se běžně instaluje s web serverem Nginx, ale může před ním být jako proxy i web server Apache - to například tehdy, 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, konkrétně ve webovém frameworku Ruby on Rails.
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 podporou, aktualizacemi 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 přiřazovat 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,
jak k sobě naklonovat Git repositář,
udě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í dokumentace, 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
Jak nainstalovat Clubhouse na 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.
+