209 слов | 1 минута
CI/CD в GitLab: пайплайны и деплой
Обзор механизмов CI/CD в GitLab: от структуры пайплайна до настройки автоматического деплоя.
Что такое CI/CD
CI (Continuous Integration) — автоматическая сборка и проверка кода при каждом коммите.
CD имеет два значения:
- Continuous Delivery — автоматическая подготовка к деплою с ручным подтверждением (есть ответственный за выкат в prod).
- Continuous Deployment — полностью автоматический деплой без ручного шага.


Структура пайплайна
Основная сущность GitLab CI/CD — пайплайн (pipeline), состоящий из:
- Джобов (jobs) — задачи: что выполнить (тесты, сборка, деплой).
- Этапов (stages) — порядок выполнения джобов.
Джобы одного этапа выполняются параллельно. При успехе всех джобов этапа выполнение переходит к следующему. При ошибке любого джоба пайплайн останавливается.
Файл .gitlab-ci.yml
Конфигурация CI/CD описывается в файле .gitlab-ci.yml в корне репозитория. GitLab Runner выполняет указанные команды на сервере после каждого коммита.
stages:
- deploy
deploy-job:
stage: deploy
script:
- echo "Deploying application..."
- echo "Application successfully deployed."
Пример с реальным деплоем:
stages:
- deploy
deploy-production:
stage: deploy
script:
- cd /var/www/mysite
- git pull origin main
- composer install --no-dev -o
- php artisan migrate --force
- php artisan config:cache
only:
- main
Настройка Runner в GitLab
- Перейдите в Settings → CI/CD → Runners репозитория или группы.
- Нажмите New instance runner, задайте тег (например,
mysite-runner). - Включите Run untagged jobs, если теги не используются.

- Зарегистрируйте Runner по инструкции из интерфейса.
- После успешной регистрации пайплайн будет отображаться зелёной кнопкой Passed в коммитах.

Для просмотра логов выполнения кликните по кнопке пайплайна и выберите задачу из списка:

