GitLab CI/CD: DevOps platform integrata

GitLab CI/CD (2012 annunciato, 2015 Runner stable) di GitLab Inc: CI/CD nativo in GitLab. Pipeline YAML, runner Docker/Kubernetes, Auto DevOps, package registry. Alternative self-hosted a GitHub Actions.

Open SourceWeb GitLabGitLab CI/CDCI/CDDevOpsGitOpen Source

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/CDGitHub Actions
Self-hostedGratis (CE)Hosted free, runner self-hosted
Pipeline YAML
Runner K8sNativoARC (2023)
MarketplaceCI/CD Catalog (2024)Marketplace (20k+ 2019+)
Auto-deployAuto DevOpsNo 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).

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi