DevOps platform
GitLab (2011, Dmitriy Zaporozhets, Sid Sijbrandij) is born as a self-hosted GitHub clone. From 2012 it introduces GitLab CI as integrated feature; GitLab Runner stable in 2015. Native integration distinguishes GitLab from competition: a single UI manages repo, CI/CD, container registry, package registry, issue tracking, security scanning, monitoring.
The model
.gitlab-ci.yml— YAML pipeline in repo root- GitLab Runner — executor (shell, Docker, Kubernetes, VirtualBox, SSH) registrable
- Jobs grouped in sequential stages
- Artifacts shared between jobs
- Cache for speed
- Environment — dev/staging/prod with protection
stages: [build, test, deploy]
build:
stage: build
image: node:20
script:
- npm ci
- npm run build
artifacts:
paths: [dist/]
test:
stage: test
image: node:20
script: [npm test]
deploy:
stage: deploy
only: [main]
script: [./deploy.sh]
environment:
name: production
Distinctive features
- Auto DevOps — auto-generated pipeline for detected framework
- Review App — every MR has temporary environment
- Merge Train — serial pipelines on main to avoid collisions
- Child pipelines — dynamic pipeline generation
- Parent-child / trigger — multi-project pipeline
- CI/CD Catalog (2024+) — template marketplace
- DAST/SAST/Secret Detection — built-in scanning (part Ultimate tier, some OSS)
- Kubernetes integration — Agent and Auto Deploy
- GitLab Runner Operator — K8s autoscaling
Editions
- Community Edition (CE) — MIT, free self-hosted
- Enterprise Edition (EE) — proprietary, additional features (Audit, advanced SAML SSO, Geo replica)
- GitLab.com — SaaS (free, premium, ultimate tier)
- GitLab Dedicated — single-tenant SaaS (2023+)
Comparison with GitHub Actions
| GitLab CI/CD | GitHub Actions | |
|---|---|---|
| Self-hosted | Free (CE) | Hosted free, self-hosted runner |
| Pipeline YAML | Yes | Yes |
| K8s Runner | Native | ARC (2023) |
| Marketplace | CI/CD Catalog (2024) | Marketplace (20k+ 2019+) |
| Auto-deploy | Auto DevOps | No equivalent |
In the Italian context
GitLab is very widespread in Italy where it is preferred self-hosted:
- Banks and insurance — self-hosted GitLab for data sovereignty
- Digital PA — Italian PA teams use GitLab (SPID DevOps, MaaS, Developers Italia aggregator)
- Universities and research centres — free GitLab CE
- Tech SMEs — GitHub Enterprise alternative
- MSPs — GitLab Runner K8s for clients
Often combined with GitLab Runner on K8s, Harbor registry, Vault secrets, ArgoCD for downstream GitOps.
References: GitLab CI introduction (2012). GitLab Runner stable (2015). GitLab Inc (Dmitriy Zaporozhets, Sid Sijbrandij). CE MIT, EE proprietary. Features: Auto DevOps, Review App, Merge Train, DAST/SAST. CI/CD Catalog (2024).
