Ga naar hoofdinhoud

Wat is GitLab? Functies, voordelen en hoe je begint

Deze gids laat zien hoe GitLab development stroomlijnt, CI/CD integreert en samenwerking verbetert.
Kurtis Pykes
Kurtis Pykes

Maak je gratis account aan

Oefen en volg je voortgang.

Ga verder met GoogleDoor verder te gaan, accepteer je ons Gebruiksvoorwaarden, onze Privacybeleid en dat je gegevens in de VS worden opgeslagen.

Hoe je je projecten beheert, speelt een cruciale rol in het behouden van productiviteit en het leveren van software van hoge kwaliteit.

Stel je een scenario voor waarin een team ontwikkelaars aan een applicatie werkt, dagelijks code-updates pusht, maar geen wijzigingen bijhoudt, geen versies beheert en geen test- of deploymentprocessen uitvoert. Dan gaat er onvermijdelijk iets mis! 

Dit fictieve scenario zal tegenwoordig waarschijnlijk niet gebeuren (hoop ik), omdat we tools zoals GitLab hebben—en daar gaat deze blogpost over.  

We behandelen:

  • De kernfuncties van GitLab
  • De voordelen
  • Hoe GitLab zich verhoudt tot andere Git-hostingplatforms 
  • En hoe je aan de slag gaat

Laten we erin duiken!

Wat is GitLab?

GitLab is een alles-in-één platform voor softwareontwikkeling en DevOps. Oorspronkelijk was het een webgebaseerde Git-repositorymanager waarmee teams aan code konden samenwerken. Inmiddels is het uitgegroeid tot een volledig geïntegreerde oplossing voor het beheren van de volledige softwareontwikkelingslevenscyclus (SDLC). 

Kort gezegd stelt GitLab ontwikkelaars in staat om: 

  • Versiebeheer te doen
  • CI/CD-pijplijnen te automatiseren
  • Projecttaken te beheren
  • Prestaties te monitoren

Deze mogelijkheden zijn beschikbaar binnen één uniforme interface, waardoor GitLab een populaire keuze is om ontwikkelprocessen te stroomlijnen.

Kernfuncties van GitLab

GitLab biedt een breed scala aan functies voor ontwikkelaars en organisaties die hun development- en operations-workflows willen stroomlijnen. Laten we enkele belangrijke mogelijkheden van het platform verkennen.

GitLab-repositories

GitLab-repositories vormen de basis voor het beheren van Git-gebaseerde broncode. Ontwikkelaars kunnen repositories aanmaken, clonen en beheren die belangrijke versiebeheerfuncties ondersteunen (zoals branching, commitgeschiedenis en merge requests), wat teams helpt om samen te werken aan code.

Een afbeelding van de UI van GitLab-repositories

Voorbeeld van GitLab-repositories | Bron: Mirror a GitLab Repository

CI/CD-integratie

Een van GitLabs opvallendste functies is de ingebouwde CI/CD-pijplijnen. Deze CI/CD-pipelines automatiseren het testen, bouwen en deployen van code met eenvoudige YAML-configuratiebestanden die pijplijnen definiëren om deze taken te automatiseren. 

Bovendien zijn GitLabs pijplijnen flexibel en integreren ze met populaire tools zoals Kubernetes en Docker—waardoor het beheren van cloud- en on-premises-deployments eenvoudiger wordt.

Afbeelding die laat zien waar CI/CD in je ontwikkelworkflow past

Waar CI/CD in je ontwikkelworkflow past | Bron: Get started with GitLab CI/CD

GitLab Auto DevOps

Auto DevOps vereenvoudigt het CI/CD-proces met vooraf geconfigureerde templates voor het bouwen, testen en deployen van applicaties. Ontwikkelaars kunnen hiermee taken automatiseren met minimale setup. 

Issue-tracking en projectmanagement

GitLab blinkt ook uit in projectmanagement en biedt tools zoals issue boards, milestones, labels en burndowncharts om agile workflows te ondersteunen. Met deze functies kunnen teams de voortgang van issues volgen van idee tot deployment, wat een compleet beeld geeft van de gezondheid en planning van het project.

Een voorbeeld van een GitLab Issue Board

Een voorbeeld van een GitLab Issue Board | Bron: 4 Ways to Use GitLab Issue Boards

GitLab Pages

Voor ontwikkelaars die snel en eenvoudig statische websites willen hosten, biedt GitLab Pages precies dat. Je kunt documentatie, portfoliosites of andere statische webcontent direct vanuit je GitLab-repository deployen. 

Bronnen om GitLab Pages te leren

Bronnen om GitLab Pages te leren | Bron: Get Started with GitLab Pages

Voordelen van het gebruik van GitLab

Wat maakt GitLab nu zo aantrekkelijk voor developmentteams? Laten we het ontdekken! 

Alles-in-één platform

Een van de grootste voordelen van GitLab is de geïntegreerde opzet. Je hoeft niet te schakelen tussen meerdere tools voor versiebeheer, CI/CD, projectmanagement en monitoring van je softwareprojecten—alles is samengebracht in één samenhangend platform. 

Samenwerking en teambeheer

GitLab is ontworpen met samenwerking als kern. Het is bedoeld om naadloze communicatie en teamwork tijdens het hele softwareontwikkelproces te faciliteren. Vanaf het begin wilde GitLab ontwikkelaars en teams beter laten samenwerken door tools te bieden die samenwerking stroomlijnen en mogelijke knelpunten minimaliseren.

Schaalbaarheid en flexibiliteit

GitLab is gebouwd om met je team mee te schalen—of je nu met een klein team aan een sideproject werkt of een groot bedrijf bent. Het platform ondersteunt cloud- en self-hosted deployments, waardoor teams GitLab kunnen aanpassen aan hun specifieke beveiligings- en prestatie-eisen. 

Beveiliging en compliance

Functies zoals statische en dynamische code-analyse, containerscanning en kwetsbaarheidsbeheer helpen GitLab-gebruikers om hun applicaties vanaf het begin te beveiligen. Let ook op dat GitLab DevOps-best practices in het ecosysteem integreert, zodat beveiliging een wezenlijk onderdeel van het ontwikkelproces is en geen bijzaak. 

GitLab vs GitHub vs Bitbucket

Alternatieve oplossingen voor GitLab zijn GitHub en Bitbucket.  Welke moet je gebruiken? Ik antwoord zoals ontwikkelaars vaak doen: “Het hangt ervan af.” Het is belangrijk om te kijken naar de eisen die je stelt aan je SDLC-managementtool. Dat gezegd hebbende, zo verhoudt GitLab zich tot de concurrentie.

GitLab vs GitHub

GitHub is een webgebaseerd platform voor versiebeheer en samenwerking, gebouwd boven op Git, een populair gedistribueerd versiebeheersysteem. Het werd in 2008 opgericht door Tom Preston-Werner, Chris Wanstrath en PJ Hyett, met als primair doel een gebruiksvriendelijke interface voor Git te bieden om ontwikkelaars efficiënter te laten samenwerken aan projecten. 

Aanvankelijk populair binnen de open-sourcegemeenschap, is GitHub uitgegroeid tot het toonaangevende platform voor het hosten van zowel publieke als private repositories. Miljoenen ontwikkelaars gebruiken het om wereldwijd codebases te delen en eraan bij te dragen.

Wat leeftijd betreft: GitHub werd gelanceerd in 2008, drie jaar vóór GitLab, dat in 2011 werd opgericht door Dmitriy Zaporozhets en Valery Sizov. Qua populariteit heeft GitHub traditioneel een grotere gebruikersbasis, mede dankzij de vroege marktintrede en brede adoptie door de open-sourcegemeenschap. GitHubs enorme ecosysteem van publieke repositories en de belangrijke rol in open-sourceprojecten zoals Linux, Node.js en React hebben de populariteit verder versterkt.

Hoewel GitLab een kleinere gebruikersbasis heeft dan GitHub, wint het veel terrein—vooral bij DevOps-teams en ondernemingen die op zoek zijn naar een geïntegreerde ontwikkel- en deploymentsoplossing. GitLab heeft een eigen niche veroverd door te focussen op een alles-in-één DevSecOps-platform, inclusief CI/CD, projectmanagement en beveiligingsfuncties binnen hetzelfde ecosysteem. Ter vergelijking: GitHub leunt op integraties van derden om vergelijkbare functionaliteit te bereiken, wat de complexiteit van projecten kan vergroten. 

Wil je meer leren over GitHub? Begin dan met de GitHub Foundations-cursus. 

GitLab vs Bitbucket

Bitbucket is ook een webgebaseerde hostingsdienst voor versiebeheerde repositories, maar werd oorspronkelijk gemaakt voor het Mercurial-versiebeheersysteem voordat het volledig overstapte op Git. 

Net als GitHub werd Bitbucket in 2008 gelanceerd, door Jesper Nøhr, en in 2010 overgenomen door Atlassian. Aanvankelijk was Bitbucket bedoeld als samenwerkingsomgeving voor kleine en grote teams, met diepe integratie met Atlassians suite van tools zoals Jira en Confluence. Daardoor wordt het platform veel gebruikt door developmentteams binnen organisaties die voor projectmanagement en issuetracking op het Atlassian-ecosysteem vertrouwen.

Daardoor heeft GitLab een bredere gebruikersbasis verworven dankzij de alles-in-één DevOps-mogelijkheden. Bitbucket heeft niet dezelfde publieke zichtbaarheid als GitHub of GitLab, vooral omdat het zich meer richt op private repositories en enterprise-gebruikers. En hoewel het goed integreert met Jira voor projecttracking, mist Bitbucket de diepgang van GitLab in het automatiseren van de softwareontwikkelingslevenscyclus.

GitLab vs GitHub vs Bitbucket: Overzicht vergelijking

Criteria

GitLab

GitHub

Bitbucket

Lancering

2011

2008

2008

Oprichters

Dmitriy Zaporozhets, Valery Sizov

Tom Preston-Werner, Chris Wanstrath, PJ Hyett

Jesper Nøhr

Moederbedrijf

Onafhankelijk (privé)

Microsoft (overgenomen in 2018)

Atlassian (overgenomen in 2010)

Oorspronkelijk doel

Git-gebaseerde repository en geïntegreerd DevOps-platform

Git-repositoryhosting en samenwerking

Ondersteunde aanvankelijk Mercurial, later overgestapt op Git

Hoofdfocus

Alles-in-één DevSecOps-platform met CI/CD, security en projectmanagementfuncties

Samenwerking aan Git-gebaseerde projecten

Integratie met Atlassian-tools zoals Jira en Confluence

Primaire gebruikers

DevOps-teams, enterprises, ontwikkelaars

Open-sourcegemeenschap, ontwikkelaars, enterprises

Teams die het Atlassian-ecosysteem gebruiken, enterprise-gebruikers

Populariteit

Groeiend, vooral door adoptie bij DevOps en enterprises

Grote gebruikersbasis, populair in open source

Minder populair voor publieke repositories, focus op enterprise en privégebruik

Repository-ondersteuning

Git

Git

Git (ondersteunde Mercurial tot 2020)

CI/CD-integratie

Natief ingebouwde CI/CD-pijplijnen

GitHub Actions (later geïntroduceerd)

Ingebouwde CI/CD-pijplijnen, maar minder uitgebreid dan GitLab

Beveiligingsfuncties

Statische en dynamische code-analyse, kwetsbaarheidsbeheer, containerscanning

Beveiligingsfuncties geïntroduceerd via GitHub Advanced Security

Beperkte beveiligingsfuncties vergeleken met GitLab

Projectmanagement

Ingebouwde tools (issues, milestones, burndowncharts, labels)

GitHub Projects (met integraties van derden)

Sterke integratie met Jira voor projecttracking

Integratie met andere tools

Integreert met Slack, Jira, Docker, Kubernetes en andere tools

Sterke integratie met tools van derden

Diepe integratie met Atlassian-tools (Jira, Confluence)

Self-hosted optie

Ja (GitLab Self-Managed)

Ja (GitHub Enterprise)

Ja (Bitbucket Data Center)

Beste keuze voor

Enterprises en DevOps-teams die een alles-in-één oplossing zoeken

Open-sourceprojecten en algemene Git-samenwerking

Enterpriseteams die Atlassian-tools gebruiken voor projectmanagement

Sterke punten

Alles-in-één platform (versiebeheer, CI/CD, security, projectmanagement)

Grote open-sourcegemeenschap, sterke ontwikkelaarssamenwerking

Integratie met Atlassian, geschikt voor enterpriseworkflows

Zwakke punten

Iets kleinere community voor open-sourceprojecten dan GitHub

Sterk afhankelijk van tools van derden voor de volledige DevOps-levenscyclus

Minder publieke repositories, minder DevOps-functies dan GitLab

Hoe begin je met GitLab

Het platform biedt een eenvoudig onboardingproces voor wie GitLab wil verkennen. Zo kun je starten.

Een GitLab-account instellen

Om te beginnen registreer je voor een gratis GitLab-account. 

De GitLab-registratiepagina

GitLab-registratiepagina

Na het registreren:

  • Stel SSH-sleutels in voor authenticatie (aanbevolen voor veilige Git-operaties).
  • Maak je eerste repository aan via New Project → Create Blank Project.
  • Clone je repository met:
git clone [email protected]:your-username/your-repo.git

Gebruik Git om wijzigingen toe te voegen en te committen:

git add .
git commit -m "Initial commit"
git push origin main

Je project beheren

GitLab is niet alleen voor versiebeheer—het biedt ook ingebouwde projectmanagementtools:

  • Issues en Boards: Volg taken en bugs met GitLab Issues.
  • Milestones: Organiseer werk in sprints of projectfasen.
  • Merge requests: Review en werk samen aan codewijzigingen voordat je merget.

Voel je vrij om deze functies te verkennen!

GitLab gebruiken voor CI/CD

De eerste stap bij het opzetten van een CI/CD-pijplijn in GitLab is het aanmaken van een ` .gitlab-ci.yml'-bestand. Hier is een eenvoudig voorbeeld:

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Building the application..."

test-job:
  stage: test
  script:
    - echo "Running tests..."

deploy-job:
  stage: deploy
  script:
    - echo "Deploying to production..."

Dit bestand definieert de fasen van de pijplijn en automatiseert het bouwen, testen en deployen van code. Je kunt deze pijplijnen configureren zodat ze passen bij jouw ontwikkelworkflow.

Commit en push dit bestand om automatisch een pijplijn te starten.

GitLab Runners

Om pijplijnen uit te voeren, gebruikt GitLab GitLab Runners—agents die de CI/CD-jobs draaien. 

Die kun je instellen op lokale infrastructuur of in de cloud, zodat teams hun ontwikkel- en testomgevingen kunnen beheren zoals zij willen.

  • Shared Runners: Door GitLab geleverd voor publieke projecten.
  • Self-hosted Runners: Geïnstalleerd op je eigen servers of cloud-instances.

Een self-hosted runner registreren:

gitlab-runner register

De architectuur van hosted runners

De architectuur van hosted runners | Bron: GitLab-hosted Runners

Beveiliging en toegangsbeheer

Zorg voor goede beveiliging en toegangsbeheer in GitLab om je code te beschermen, samenwerking te beheren en best practices voor veilig ontwikkelen af te dwingen.

  • Voeg teamleden toe onder Settings > Members.
  • Stel repositoryrechten in (Guest, Reporter, Developer, Maintainer, Owner).
  • Gebruik GitLabs beveiligingsfuncties zoals Static Application Security Testing (SAST).

Een statische website deployen met GitLab Pages

Met GitLab Pages kun je gratis statische websites deployen. Zo zet je het op:

  • Maak een public/-map met een index.html-bestand.
  • Voeg een .gitlab-ci.yml-bestand toe:
pages:
  stage: deploy
  script:
    - mkdir -p public
    - echo "Hello, GitLab Pages!" > public/index.html
  artifacts:
    paths:
      - public
  • Push de wijzigingen en je website staat live op: https://yourusername.gitlab.io/repository-name.

Conclusie

GitLab is een krachtige, alles-in-één oplossing voor het beheren van het volledige softwareontwikkelproces. Het is een uitgebreid platform dat moderne development- en DevOps-praktijken ondersteunt. In dit artikel hebben we de belangrijkste functies, voordelen, verschillen met concurrenten en hoe je begint met GitLab besproken.

Ben je nieuw met Git of wil je je vaardigheden aanscherpen? Bekijk dan deze cursussen:

  • Introduction to Git – Leer de basis van Git, waaronder versiebeheer, branching en mergen.
  • Intermediate Git – Breng je Git-vaardigheden verder met geavanceerde concepten zoals rebasen, mergeconflicten oplossen en interactief rebasen.

Door Git en GitLab onder de knie te krijgen, ben je uitstekend uitgerust om efficiënt te werken in moderne ontwikkelomgevingen!

FAQs

Is GitLab gratis te gebruiken?

Jazeker! GitLab biedt een gratis tier met kern-DevOps-functies zoals repositories, CI/CD en issuetracking. Er zijn ook betaalde plannen met geavanceerde security-, compliance- en enterprisefuncties.

Kan GitLab self-hosted worden gebruikt?

Ja! GitLab biedt een self-hosted versie (GitLab Community Edition) waarmee organisaties GitLab op hun eigen infrastructuur kunnen draaien voor meer controle over beveiliging en data.

Welke programmeertalen ondersteunt GitLab?

GitLab ondersteunt alle programmeertalen, omdat het primair dient als Git-repository en CI/CD-platform. Het kan CI/CD-pijplijnen draaien voor Python, Java, JavaScript, Go, C++ en meer.

Hoe veilig is GitLab?

GitLab bevat beveiligingsfuncties zoals Static Application Security Testing (SAST), Dependency Scanning, Container Scanning en Secret Detection om ontwikkelaars te helpen kwetsbaarheden vroeg in het ontwikkelproces te vinden.

Kan ik GitLab gebruiken voor persoonlijke projecten?

Absoluut! GitLab is ideaal voor persoonlijke projecten en biedt onbeperkte private repositories, ingebouwde CI/CD en issuetracking, zelfs in het gratis plan.

Integreert GitLab met tools van derden?

Ja! GitLab ondersteunt integraties met Jira, Slack, Kubernetes, AWS, Google Cloud, Terraform en nog veel meer om je ontwikkelworkflow te verbeteren.

Hoe gaat GitLab om met back-ups?

GitLab biedt back-up- en disaster recovery-opties voor self-hosted instances, inclusief geplande back-ups, replicatie en ondersteuning voor cloudopslag om je data veilig te houden.

Kan ik mijn projecten migreren van GitHub of Bitbucket naar GitLab?

Ja! GitLab biedt importtools waarmee gebruikers naadloos repositories, issues en merge requests kunnen migreren van GitHub, Bitbucket en andere platforms.

Kurtis Pykes

Auteur

Kurtis Pykes

Onderwerpen

Gerelateerd