Skip to main content

Обзор

В GitLab пайплайн задаётся файлом .gitlab-ci.yml в корне репозитория. Запуск на push/merge; раннеры — GitLab.com или self-hosted.

Основные понятия

  • Stages — последовательные этапы (например: build → test → deploy).
  • Jobs — задачи внутри этапов; выполняются на runner.
  • Variables — переменные окружения (в файле или в UI); секреты в CI/CD Settings.

Пример минимального пайплайна

stages:
  - build
  - test

build:
  stage: build
  image: node:20
  script:
    - npm ci
    - npm run build
  artifacts:
    paths:
      - dist/

test:
  stage: test
  image: node:20
  script:
    - npm ci
    - npm test
  needs: [build]

Полезные темы

image: для джоба; services: (например, PostgreSQL, Redis) для интеграционных тестов.
artifacts: — что сохранять между джобами; cache: — кэш зависимостей.
rules:, only/except — когда джоб запускается (ветка, тег, тип события).
environment:, manual action для прод; переменные по окружениям.

Что добавить сюда

  • Примеры своих .gitlab-ci.yml для разных проектов
  • Настройка self-hosted runner при необходимости
  • Ссылки на официальную документацию GitLab CI