Gitlab
GitLab is a DevOps platform that bundles Git hosting, CI/CD, container registry, and security scanning in one product. You get repositories, merge requests, and pipelines from a single UI. This guide focuses on what matters for product and engineering: when to use GitLab over GitHub-style “Git + separate CI,” and how to get value from pipelines early.
Intro to CI/CD with GitLab
Why gitlab fits product work
.gitlab-ci.yml). No separate SaaS to wire up for basic build-and-test.Core concepts that matter
Repositories and merge requests
A repository holds the codebase. Branches are lines of work. A merge request (MR) proposes merging one branch into another (e.g. into main). Use MRs for every change that touches shared code: describe the change, link issues, assign reviewers. Pipelines run on the MR branch; merge when they pass and review is done.
Pipelines and `.gitlab-ci.yml`
A pipeline is a set of jobs grouped into stages (e.g. test → build → deploy). Each job runs in a runner (GitLab-hosted or self-hosted). The definition lives in `.gitlab-ci.yml` at the repo root. You specify stages, jobs, scripts, and when each job runs (e.g. only on main, or only when certain files change). One file, one place to look.
Intro to CI/CD - GitLab Webinar
Jobs and runners
A job is one unit of work: run tests, build a Docker image, deploy to staging. Runners execute jobs. GitLab.com provides shared runners (free with limits); you can add your own for more control or for private/compliance needs. Use artifacts to pass build output (e.g. a binary or archive) to a later job or to download from the UI.
Container registry and security (paid)
On Premium/Ultimate, GitLab includes a container registry and dependency/container scanning. Images built in CI can be pushed to the same org; scanners run in the pipeline. Useful when you want “code + pipeline + images + scanning” in one product.
Practical habits
lint → test → build. Add deploy when you have a target (e.g. staging, production).When gitlab isn’t the fit
Pricing (high level)
Free - Unlimited private repos and collaborators, 400 compute minutes/month on shared runners, issues and boards. Enough for small teams and side projects.
Premium - More compute, MR approvals, advanced CI (e.g. parallel matrix), container registry, and support. Ultimate - Security scanning, compliance, and enterprise features. See GitLab’s pricing for current plans.
For teams that want Git, code review, and CI in one place-and are okay with learning GitLab’s UI and YAML-GitLab is a strong default. Start with merge requests and a small pipeline; add stages and runners as you grow.

