Back to all tools

GitLab CI/CD
Built-in CI/CD that lives alongside your code in GitLab.
Free-Limited
CI/CD GitOps
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
- 1Developer pushes code — .gitlab-ci.yml triggers the pipeline automatically
- 2Test stage runs unit tests and linting in parallel jobs
- 3Security stage runs SAST and dependency scanning
- 4Build stage creates and pushes a Docker image to the GitLab registry
- 5Deploy stage uses environments to promote dev → staging → production
Review App per merge request
- 1Define a deploy_review job triggered on every merge request
- 2Job deploys the branch to a dynamic URL (e.g. mr-42.dev.example.com)
- 3Reviewer opens the URL directly from the MR page to test the change
- 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.