Логотипbitrix-code
Разработка

CI/CD для разработки на Битрикс24

Елена Зарубина, DevOps12 мин

Разработка без CI/CD — путь к багам в продакшене. Разбираем, как настроить для проектов на Битрикс24.

Структура репозитория

Только кастомные модули и шаблоны в git. Ядро Битрикс24 — не в git. Пример: /local/modules/myproject.customer/

Gitlab CI / GitHub Actions

Конвейер:

  1. Статический анализ (PHPStan, Psalm)
  2. Стиль кода (PHP-CS-Fixer)
  3. Юнит-тесты (PHPUnit)
  4. Интеграционные тесты
  5. Сборка артефакта (tar/zip)
  6. Деплой на stage
  7. E2E тесты на stage (Cypress)
  8. Деплой на prod (после ручного approve)

Деплой

rsync артефакта в /local/modules/ + БД миграции + очистка кеша. Всё атомарно через symlink-переключение.

БД миграции

Для Битрикс24 нет встроенных миграций. Свой механизм: скрипт с timestamp-именем, трекинг в таблице applied_migrations.

Rollback

Downtime-free rollback через symlink на предыдущую версию. Миграции БД — желательно аддитивные, чтобы не откатывать.