Налаштування оновлень Бітрікс24 On-Premise

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування оновлень Бітрікс24 On-Premise
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування оновлень Bitrix24 On-Premise

Оновлення розповсюджуваного Bitrix24 — не кнопка «Оновити» й готово. Без підготовки оновлення може зламати кастомні доробки, порушити роботу модулів або займати кілька годин на production-сервері. Процес потрібно вистроїти як процедуру.

Як працює система оновлень

Bitrix24 On-Premise отримує оновлення через «Маркетплейс» й вбудований updater. Компонент системи оновлень — /bitrix/updates/. При запуску перевіряє доступні патчі на сервері оновлень dev.1c-bitrix.ru, завантажує пакети й застосовує зміни до файлів і БД.

Оновлення двох типів:

  • Patch — точкове виправлення, торкається окремих файлів
  • Release — мажорне оновлення зі змінами структури БД (b_* таблиці)

Релізи небезпечніше: вони містять міграції БД через \Bitrix\Main\Application::getConnection()->queryExecute(). Якщо кастомний код використовує нестандартні поля в системних таблицях, міграція може зламати дані.

Налаштування автооновлень

У /bitrix/admin/update_system_partner.php можна включити автоматичне отримання й застосування оновлень за розписанням. Це зручно, але ризиковано для production без тестування.

Розумна стратегія: автооновлення включаються тільки для патчів безпеки (SECURITY = Y). Мажорні оновлення — тільки вручну після тестування на staging.

Налаштування через агент у b_agent:

// Агент перевірки оновлень запускається кожні 24 години
CAgent::AddAgent(
    "CUpdateClient::CheckUpdates();",
    "main",
    "N",
    86400,
    "",
    "Y"
);

Процедура оновлення на production

Крок 1: Резервна копія. Перед будь-яким оновленням — бекап файлів і БД. Вбудований модуль резервного копіювання (/bitrix/admin/backup.php) або mysqldump + tar:

mysqldump -u bitrix -p bitrix24_db > /backup/bitrix24_$(date +%Y%m%d_%H%M).sql
tar czf /backup/bitrix24_files_$(date +%Y%m%d_%H%M).tar.gz /var/www/html --exclude=/var/www/html/upload

Крок 2: Тест на staging. Якщо є staging-сервер (а він повинен бути) — застосовуєте оновлення там, прогоняєте функціональне тестування. Перевіряєте:

  • Кастомні компоненти в /local/components/
  • Кастомні обробники в /local/php_interface/init.php
  • Модулі з /local/modules/
  • Інтеграції з зовнішніми системами (1С, CRM)

Крок 3: Режим обслуговування. Перед оновленням на production — режим технічного обслуговування. У Bitrix'і це реалізується через /bitrix/.maintenance.php:

<?php
// /bitrix/.maintenance.php
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600');
include '/path/to/maintenance_page.html';
exit;

І в nginx перехоплюєте всі запити й показуєте сторінку обслуговування.

Крок 4: Застосування оновлення. Через /bitrix/admin/update_system.php або через консольний обробник оновлень (у BitrixVM є bitrix-env).

Крок 5: Перевірка після оновлення. Список критичних сторінок: головна, каталог, карточка товару, кошик, оформлення замовлення, особистий кабінет, адміністративна панель. Перевіряєте логи php-fpm й nginx на нові помилки.

Оновлення кастомних модулів з Маркетплейсу

Модулі з Маркетплейсу оновлюються окремо від ядра. У /bitrix/admin/partner_modules.php список установлених модулів із доступними оновленнями. Перед оновленням стороннього модуля — читайте changelog: деякі модулі при оновленні скидають параметри.

Кастомні модулі в /local/modules/ поза зоною оновлень Маркетплейсу — оновлюєте вручну або через свій CI/CD.

Контроль версій кастомного коду

Основна проблема при оновленні: розробники часто модифікують файли ядра Bitrix (/bitrix/modules/) замість використання /local/. При оновленні ядра такі зміни перезаписуються.

Перевірте перед оновленням: немає чи змінених файлів у /bitrix/ (не в /local/). Через Git це просто: якщо /bitrix/ під версійним контролем, git diff покаже зміни. Якщо ні — порівнюєте хеші файлів з еталонним дистрибутивом.

Правильна практика: все кастомне — тільки в /local/. Тоді оновлення ядра безпечне.