GitLab CI автоматизирует сборку и деплой при каждом push. Для старта достаточно одного файла .gitlab-ci.yml в корне репозитория.
Минимальный pipeline
- stage: test — линтер, unit-тесты (npm test, pytest).
- stage: build — docker build, push в registry.
- stage: deploy — ssh на сервер или kubectl apply (только для main/master).
Пример структуры
Используйте rules или only, чтобы деплой на прод шёл только из защищённой ветки. Staging — из develop. Секреты храните в GitLab CI/CD Variables (masked, protected).
Типичные ошибки
- Нет кэша зависимостей — сборка 15 минут вместо 3.
- Деплой без health-check — «зелёный» pipeline, но сайт лежит.
- Один job на всё — сложно понять, где упало.
Контейнеры — в статье Docker для команды. Инфраструктура — сисадмин ITRTS.
Окружения и откаты
Храните последние три образа в registry для быстрого rollback. Деплой через blue-green или простой swap контейнера снижает простой до секунд. Документируйте переменные окружения для staging и prod в одном месте.
- Добавьте manual job для прод-деплоя, если команда маленькая.
- Уведомления в Telegram при падении pipeline — must have.
Артефакты и кэш
Сохраняйте отчёты тестов и coverage как artifacts — удобно при разборе падений. Кэшируйте node_modules, pip, composer между job'ами. Для Docker используйте buildkit cache из registry.
Итог
Главное — не откладывать решение до аварии или срыва сроков. Зафиксируйте текущее состояние, определите ответственных и согласуйте бюджет с подрядчиком или внутренней командой. Команда ITRTS помогает на всех этапах: от консультации до внедрения и сопровождения. Актуальные тарифы — на странице прайса, связанные материалы — в разделе блога.
Если тема критична для вашего бизнеса прямо сейчас — напишите нам через форму на сайте. Разберём ситуацию и предложим план без обязательств.
Начните с аудита текущей ситуации: зафиксируйте риски, сроки и бюджет. Мы в ITRTS сопровождаем 1С, серверы и разработку — 1С, инфраструктура, разработка. Бесплатная первичная консультация поможет определить приоритеты.