Перейти до основного вмісту

Реліз і оновлення модулів

Шлях версії модуля від коміту до користувача.

Життєвий цикл​

розробка й перевірка на тестовій інсталяції → перевірений код у Git
→ тег версії → CI тест-гейт → збірка пакета → публікація в каталозі
→ користувачі бачать «Оновити» в магазині модулів → встановлення
  1. Розробка. Реалізуйте й перевірте зміну на тестовій інсталяції, потім зафіксуйте перевірений код у репозиторії модуля. Версія — у module_info.php. Підтримуваний PHP — 8.2–8.5.
  2. Реліз. Реліз = бамп версії + тег + пуш. Пуш у гілку без тега — лише синхронізація коду, публікації не буде.
  3. Тест-гейт. CI проганяє лінт під цільові версії PHP і sanity-перевірки структури модуля. Збірка, що не пройшла гейт, у каталог не потрапляє.
  4. Збірка і публікація. Пакет (zip) з маніфестом файлів потрапляє в каталог сервера оновлень; каталог оновлює метадані версії.
  5. Доставка. Інсталяції бачать нову версію через API каталогу; оновлення — вручну з адмінки або автоматично (якщо збірку позначено безпечною для автооновлення).

Канали і безпека​

  • Кожна збірка має прапорець auto_ok: чи можна її ставити автооновленням. Ризиковані/експериментальні збірки публікуються з auto_ok=false — лише ручне встановлення.
  • Перед застосуванням оновлення система робить бекап; невдале оновлення відкочується автоматично.

Модулі у складі ядра​

Частина модулів каталогу для eCMS9 постачається у складі ядра і оновлюється разом із ним — окремих пакетів для них немає. У магазині модулів такі модулі позначені бейджем «Оновлюється з ядром eCMS9».

Чек-лист релізу​

  • Версія піднята в module_info.php
  • Лінт під усі цільові версії PHP пройдено
  • Слухачі подій обгорнуті в try/catch і перевіряють module_enabled()
  • Немає ручних правок конфігів ядра (див. Структура модуля)
  • Changelog заповнено — його бачить користувач перед оновленням