Ugrás a tartalomhoz

GitLab

A Wikiszótárból, a nyitott szótárból


Főnév

GitLab (tsz. GitLabs)

  1. (informatika) A GitLab egy teljes körű DevOps platform, amely elsősorban Git-alapú verziókezelést, de emellett CI/CD-t, hibakövetést, kódközösségi funkciókat, és projektmenedzsment eszközöket is kínál – mindezt egyetlen alkalmazásba integrálva. A GitLab alternatívája a GitHub-nak és Bitbucketnek, de különösen kiemelkedik abban, hogy a teljes fejlesztési életciklust lefedi.



1. Mi az a GitLab?

A GitLab egy webes felület, amely:

  • Git repository-kat kezel
  • Lehetővé teszi a kód együttműködésen alapuló fejlesztését (pull/merge request)
  • CI/CD pipeline-okat futtat automatikusan
  • Hibákat, feladatokat, és kiadásokat (release) követ
  • Projektmenedzsment funkciókat is biztosít (boardok, milestone-ok)
  • Saját gépre is telepíthető (önhostolt)

GitLab lehet:

  • GitLab.com – felhőalapú szolgáltatás
  • Self-hosted GitLab CE/EE – saját szerveren futó nyílt forráskódú vagy enterprise változat



2. Fő jellemzők

Funkció Leírás
Git repository Verziókövetés, ágak kezelése
Merge Request Kódösszeolvasztási kérelmek, code review
GitLab CI/CD Automatikus build/test/deploy
Issue tracking Hibák, feladatok, fejlesztési kérések
Wiki és dokumentáció Projektdokumentáció Markdown formában
Milestone-ok Kiadások ütemezése
Kanban board Agilis munkamenet támogatás
Container Registry Docker image-ek tárolása
Auto DevOps Automatikus pipeline generálás
Integrációk Slack, JIRA, Kubernetes, Prometheus stb.



3. GitLab vs GitHub vs Bitbucket

Tulajdonság GitLab GitHub Bitbucket
Verziókezelés Git Git Git
CI/CD Beépített, fejlett GitHub Actions Bitbucket Pipelines
Self-hosting Igen (CE/EE) Csak Enterprise Igen
Projektmenedzsment Kanban, milestones Issues, Projects Jira integráció
Ár (privát repo) Ingyenes Ingyenes Ingyenes



4. GitLab CI/CD

A GitLab beépített CI/CD (Continuous Integration / Continuous Deployment) rendszert biztosít. A .gitlab-ci.yml fájl határozza meg a pipeline-t.

Példa .gitlab-ci.yml:

stages:
  - build
  - test

build-job:
  stage: build
  script:
    - echo "Fordítás..."
    - make

test-job:
  stage: test
  script:
    - echo "Tesztelés..."
    - make test

A pipeline automatikusan lefut minden push, merge request vagy tag létrehozása után.



5. Merge Requests

A Merge Request (MR) a GitLab változata a GitHub Pull Requestnek. Egy ágat másikba való egyesítés előtt:

  • Kódkülönbségek (diff) megtekinthetők
  • Reviewerek véleményt mondhatnak
  • Pipeline-eredmények láthatók
  • Automatikus szabályok beállíthatók (pl. 2 jóváhagyás, sikeres build)



6. Issue Tracking

A GitLab saját issue-kezelőt tartalmaz:

  • Feladatok, hibák, fejlesztési kérések rögzítése
  • Címkék (labels), milestone-ok, assignees
  • Kommentelési lehetőség
  • Markdown támogatás
  • Automatizált lezárás commit üzenetből: Fixes #123



7. Agilis támogatás

A GitLab projektmenedzsment eszközként is használható:

  • Boards: Kanban-táblák
  • Milestones: Sprint vagy release csoportosítás
  • Burndown chart: Haladás vizualizálása
  • Epics: Nagyobb funkciók, több issue összefogása



8. Docker és Kubernetes integráció

  • GitLab Container Registry: privát Docker image-ek tárolása
  • Kubernetes integráció: automatikus deploy, monitoring, helm chartok
  • Auto DevOps funkcióval: CI, deploy, tesztelés, monitoring egyetlen gombnyomásra



9. Telepítés (Self-Hosted GitLab)

GitLab CE/EE saját szerverre is telepíthető:

sudo apt update
sudo apt install curl openssh-server ca-certificates tzdata perl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.sajatceg.hu" apt install gitlab-ee

Telepítés után webes felületen végezhető az admin beállítás.



10. Biztonság és jogosultság

  • Projektalapú hozzáférés (Guest, Reporter, Developer, Maintainer, Owner)
  • Branch protection (pl. main nem írható)
  • 2FA (kétfaktoros hitelesítés)
  • Audit log (EE változatban)
  • LDAP, SAML, GitHub auth támogatás



11. GitLab API

A GitLab gazdag REST és GraphQL API-t biztosít:

  • Repozitórium kezelése
  • Issue-k, Merge Requestek létrehozása
  • Pipeline triggerelés
  • Felhasználókezelés
  • Automatizálható bármely backend vagy DevOps folyamatban



12. Ármodell (GitLab.com)

Terv Fő funkciók
Free 400 CI perc/hó, 5 GB tárhely, alap funkciók
Premium Fejlett CI/CD, project insights, SLA támogatás
Ultimate Security scanning, compliance, epics, advanced audit

A self-hosted változatnál a Community Edition (CE) teljesen ingyenes.



13. Használati példa

git clone https://gitlab.com/ceg/projekt.git
cd projekt
git checkout -b ujfeature
# módosítások
git add .
git commit -m "uj funkció"
git push -u origin ujfeature
# Létrehozás a GitLab UI-n keresztül: Merge Request

14. Mikor válaszd a GitLabot?

GitLab ideális, ha:

  • Egyetlen eszközben szeretnél verziókezelést, CI/CD-t és hibakövetést
  • Saját infrastruktúrán akarod futtatni (on-premise)
  • Kubernetes vagy Docker-alapú deployt használsz
  • Kisebb-nagyobb csapatban együtt dolgozol és fontos az integráció



15. Záró gondolat

A GitLab egy kiváló eszköz modern DevOps és agilis csapatok számára, ahol a kód, a hibák, a tesztek és a kiadások egy helyen kezelhetők. Legnagyobb előnye, hogy teljesen integrált platform, akár önállóan hostolva is – így a fejlesztés, tesztelés és üzemeltetés közötti határok elmosódnak.