Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Установка номера версии и\или номера сборки для конфигураций, расширений, внешних файлов 1С - автоматически или автоматизированно #493

Closed
artbear opened this issue Mar 11, 2022 · 0 comments · Fixed by #495

Comments

@artbear
Copy link
Collaborator

artbear commented Mar 11, 2022

Начало в https://t.me/oscript_library/56813

Продолжение для внешних файлов 1С в #498

Потребности

есть 2 потребности

  • установка номера версии при выпуске нового релиза
    • нужна автоматизированная установка
    • "1.2.3.0"
  • изменение номера сборки (последняя часть номера версии) при сборке артефактов
    • нужна полностью автоматическая установка
    • "1.2.3.5", "1.2.3.6" и т.п.

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

  • конфигурация
  • расширения, одно или несколько
  • внешние обработки
  • packagedef
  • скрипты oscript

Предложение по реализации

Разделить сценарии:

  1. Сборка артефакта - меняем номер сборки.
  • Реализовать опцию для команд compile / compileexttocfe / compileepf
  1. Проставляем версию в файлах проекта - это групповая операция.
  • Сделать отдельную команду.
  • если указан каталог - ищем в нем и в иерархии подкаталогов, и меняем везде, где возможно
  • Если файл - ищем\меняем в файле.

Оба сценария друг друга не исключают: например, назначаем версию проекта по всем исходникам - "6.9.0", а потом отправляем на CI, и в артефактах будет "6.9.5"

Поиск по исходникам

  • для конфигураций и расширений менять версию в Configuration.xml
  • для внешних файлов 1С (обработки, отчеты) есть варианты
    • хранить версию в поле Комментарий
      • спец.формат - версия всегда должна быть вида (ver.|вер.)0.0.0.0
    • или в коде модуля обработки\отчета
    • Искать строку кода в модуле объекта обработки
      • Версия = "1.2.3.4";
      • или чуть надежнее
Функция Версия() Экспорт
  Версия = "1.2.3.4";
КонецФункции

Дополнительно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment