12  /  36

Сборка обновлений собственного модуля

Просмотров: 38358
Дата последнего изменения: 04.05.2022
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Введение

Предлагаемый вашему вниманию скрипт является больше примером для оптимизации разработки и экономии времени, чем готовым решением. Скрипт разработан сотрудниками ТП "1С-Битрикс" для облегчения рутинных операций по сборке обновлений модулей.

Примечание: Предлагаемый вариант не единственный, но он обладает большими возможностями в плане "тонкой" настройки сборки обновлений. Если не нужна избыточная гибкость в настройках, то лучше воспользоваться более удобным методом сборки обновлений.

Скачать скрипт.

Предположим, что вы уже создали свой модуль и выложили в Marketplace. Теперь у вас стоит задача совершенствовать его и выкладывать обновления.

Возможно для кого-то это покажется простой и интересной задачей, но для других она кажется рутинной и постоянно бегать по директориям в поисках нужного файла и так пофайлово собирать обновления довольно утомительно.

  Настройки

Код модуля:

$arSettings["MODULE_ID"] = 'mail';

Директория относительно корня сайта куда будут складываться обновления:

$arSettings["U_PATH"] = '/iupdate/';

Массив директорий содержимое которого будет прочитано, но глубже чтение не будет проводиться:

$arSettings["DIR_READ_NOFOLLOW"] = array(
    $arSettings["MODULE_PATH"].'lang/',
);

Массив директорий, имя которых будет добавлено, но не будет произведено чтение их содержимого:

$arSettings["DIR_NOFOLLOW"] = array(
    $arSettings["MODULE_PATH"].'install/db/',
    $arSettings["MODULE_PATH"].'install/images/',
    $arSettings["MODULE_PATH"].'install/themes/',
);

Массив директорий, которые будут пропущены при чтении (построении списка):

$arSettings["DIR_SKIP"] = array();

Массив игнорируемых имен:

$arSettings["FILE_NAME_SKIP"] = array(
    '.',
    '..',
    '.hg',
    '.hgignore',
    '.svn',
    '.csv',
);

Массив игнорируемых файлов:

$arSettings["FILE_SKIP"] = array(
    $arSettings["MODULE_PATH"].'install/version.php',
    $arSettings["MODULE_PATH"].'version_control.txt',
);

Массив для updater.php, при наличии необходимых директорий на основании этих данных будет построен файл обновления:

$arSettings["UPDATER_COPY"] = array(
    "install/js" => "js/main/core",
    "install/components" => "components",
);

  Что же скрипт умеет?

  • Собирать обновления с необходимым набором файлов;
  • Создавать файл описания на основании введенного текста;
  • Создавать файл version.php с номером версии указанной в поле ввода и время создания обновления;
  • Создание updater.php на основании файлов обновления и настроек
  • Создание архива собранного обновления


17
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии