Back to all tools
GitLab CI/CD logo

GitLab CI/CD

Built-in CI/CD that lives alongside your code in GitLab.

Free-Limited
CI/CD GitOps
Share:XLinkedInWhatsApp

Overview

GitLab CI/CD is a part of GitLab that provides continuous integration and continuous delivery features, enabling automated pipelines directly within GitLab.

Key Features

  • YAML-based .gitlab-ci.yml pipeline defined alongside source code
  • Parallel and DAG pipeline execution for fast feedback
  • Built-in container registry, package registry, and artifact storage
  • Auto DevOps for zero-config CI/CD with sensible defaults
  • Review Apps for ephemeral per-branch environments
  • Security scanning (SAST, DAST, dependency) integrated into pipelines

Real-World Workflows

Full DevSecOps pipeline from commit to production

  1. 1Developer pushes code — .gitlab-ci.yml triggers the pipeline automatically
  2. 2Test stage runs unit tests and linting in parallel jobs
  3. 3Security stage runs SAST and dependency scanning
  4. 4Build stage creates and pushes a Docker image to the GitLab registry
  5. 5Deploy stage uses environments to promote dev → staging → production

Review App per merge request

  1. 1Define a deploy_review job triggered on every merge request
  2. 2Job deploys the branch to a dynamic URL (e.g. mr-42.dev.example.com)
  3. 3Reviewer opens the URL directly from the MR page to test the change
  4. 4Environment is automatically stopped when the MR is merged or closed

Getting Started

# .gitlab-ci.yml
stages: [test, build, deploy]
test:
  image: node:20
  script: [npm ci, npm test]
build:
  script: [docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .]

Compare Alternatives

See how GitLab CI/CD stacks up against similar tools.