DevOps platform
GitLab (2011, Dmitriy Zaporozhets, Sid Sijbrandij) nasce come clone self-hosted di GitHub. Dal 2012 introduce GitLab CI come feature integrata; GitLab Runner stabile nel 2015. L’integrazione nativa distingue GitLab dalla concorrenza: un’unica UI gestisce repo, CI/CD, container registry, package registry, issue tracking, security scanning, monitoring.
Il modello
.gitlab-ci.yml— pipeline YAML in root repo- GitLab Runner — executor (shell, Docker, Kubernetes, VirtualBox, SSH) registrabile
- Jobs raggruppati in stages sequenziali
- Artifact condivisi tra job
- Cache per velocità
- Environment — dev/staging/prod con 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
Feature distintive
- Auto DevOps — pipeline auto-generata per detectato framework
- Review App — ogni MR ha environment temporaneo
- Merge Train — pipeline seriali su main per evitare collisioni
- Child pipelines — dinamic pipeline generation
- Parent-child / trigger — multi-project pipeline
- CI/CD Catalog (2024+) — marketplace template
- DAST/SAST/Secret Detection — scanning built-in (parte Ultimate tier, alcuni OSS)
- Kubernetes integration — Agent e Auto Deploy
- GitLab Runner Operator — autoscaling K8s
Edition
- Community Edition (CE) — MIT, self-hosted gratuita
- Enterprise Edition (EE) — proprietaria, feature aggiuntive (Audit, SAML SSO avanzato, Geo replica)
- GitLab.com — SaaS (free, premium, ultimate tier)
- GitLab Dedicated — SaaS single-tenant (2023+)
Confronto con GitHub Actions
| GitLab CI/CD | GitHub Actions | |
|---|---|---|
| Self-hosted | Gratis (CE) | Hosted free, runner self-hosted |
| Pipeline YAML | Sì | Sì |
| Runner K8s | Nativo | ARC (2023) |
| Marketplace | CI/CD Catalog (2024) | Marketplace (20k+ 2019+) |
| Auto-deploy | Auto DevOps | No equivalente |
Nel contesto italiano
GitLab è molto diffuso in Italia dove è preferito self-hosted:
- Banche e assicurazioni — GitLab self-hosted per data sovereignty
- PA digitale — Team italiani PA usano GitLab (SPID DevOps, MaaS, Developers Italia aggregator)
- Università e centri ricerca — GitLab CE gratuito
- PMI tech — alternativa GitHub Enterprise
- MSP — GitLab Runner K8s per clienti
Spesso combinato con GitLab Runner su K8s, Harbor registry, Vault secrets, ArgoCD per GitOps downstream.
Riferimenti: GitLab CI introduzione (2012). GitLab Runner stable (2015). GitLab Inc (Dmitriy Zaporozhets, Sid Sijbrandij). CE MIT, EE proprietaria. Feature: Auto DevOps, Review App, Merge Train, DAST/SAST. CI/CD Catalog (2024).
