Реліз і оновлення модулів
Шлях версії модуля від коміту до користувача.
Життєвий цикл
код у Git → тег версії → CI тест-гейт → збірка пакета → публікація в каталозі
→ користувачі бачать «Оновити» в магазині модулів → встановлення
- Розробка. Код модуля живе у власному Git-репозиторії. Версія — у
module_info.php. - Реліз. Реліз = бамп версії + тег + пуш. Пуш у гілку без тега — лише синхронізація коду, публікації не буде.
- Тест-гейт. CI проганяє лінт під цільові версії PHP і sanity-перевірки структури модуля. Збірка, що не пройшла гейт, у каталог не потрапляє.
- Збірка і публікація. Пакет (zip) з маніфестом файлів потрапляє в каталог сервера оновлень; каталог оновлює метадані версії.
- Доставка. Інсталяції бачать нову версію через API каталогу; оновлення — вручну з адмінки або автоматично (якщо збірку позначено безпечною для автооновлення).
Канали і безпека
- Кожна збірка має прапорець auto_ok: чи можна її ставити автооновленням.
Ризиковані/експериментальні збірки публікуються з
auto_ok=false— лише ручне встановлення. - Перед застосуванням оновлення система робить бекап; невдале оновлення відкочується автоматично.
Модулі у складі ядра
Частина модулів каталогу для ECMS9 постачається у складі ядра і оновлюється разом із ним — окремих пакетів для них немає. У магазині модулів такі модулі позначені бейджем «Оновлюється з ядром ECMS9».
Чек-лист релізу
- Версія піднята в
module_info.php - Лінт під усі цільові версії PHP пройдено
- Слухачі подій обгорнуті в try/catch і перевіряють
module_enabled() - Немає ручних правок конфігів ядра (див. Структура модуля)
- Changelog заповнено — його бачить користувач перед оновленням