Для выяснения данных установленных на компьютере программных лицензий я использую утилиту ring (https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000674) и ее модуль license (https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000679)
Однако, использование утилиты ring осложняется необходимостью установки на компьютер пользователя JRE (Java) (https://www.oracle.com/technetwork/java/javase/downloads/2133155), установки дополнительных модулей JCE (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) в «тело» JRE и установки самой утилиты ring и модуля license. Процесс не очень быстрый, да и админские права не всегда есть. В результате, решил сделать ускорение этой работы. Идея: было бы здорово, придти к клиенту , воткнуть флэшку и получить сразу, без установки всего этого софта, утилиту ring. Предлагаю способ получения данного результата.
На флэшке E: создал директорию gvkLic .
Скачал на компьютер и распаковал JRE (https://www.oracle.com/technetwork/java/javase/downloads/2133155 для Windows x86 re-8u191-windows-i586.tar.gz ) . Директорию jre1.8.0_191 поместил в E: gvkLic. Скачал JCE по ссылке выше и поместил модули local_policy.jar и US_export_policy.jar в директорию E:gvkLicjre1.8.0_191libsecurity .
Установил утилиту ring и модуль license из каталога C:Program Files (x86)1cv88.3.13.1644ExtDst (1c-enterprise-ring-0.11.4-1.x86.msi и 1c-enterprise-license-tools-0.7.0-1.x86.msi соответственно). Переписал директорию C:Program Files (x86)1C1CE в директорию E:gvkLic; сделал копию файла E:gvkLic1CE
ingring.cmd в файл E:gvkLicring.bat. В последний файл внес изменения :
заменил на строки :
Для запуска использую Выполнить → cmd . В окне команд набираю cd E:gvkLic и за тем
ring.bat license -help
Можно в директории E:gvkLic нажать с шифтом правую кнопку и выбрать пункт меню «открыть окно PowerShell здесь» , после чего набрать в нем :
получив тот же результат.
Таким образом подготовленная флэшка экономит кучу времени и нервов.
Обсудить
Содержание
Введение
Возможно данный проект примут как следующую версию в gitsync
Проект является форком проекта gitsync см. https://github.com/oscript-library/gitsync и результатом глубокого рефакторинга начального проекта
Проект gitsync представляет собой:
- Библиотеку gitsync ( src/core ) — которая реализует основные классы для синхронизации хранилища 1С с git
- Приложение gitsync ( src/cmd ) — консольное приложение на основе библиотеки cli
Установка
Вручную
- Скачать файл gitsync*.ospx из раздела releases
- Воспользоваться командой:
Через пакетный менеджер opm
- командой opm install gitsync
- Запустить командой gitsync
Требования
- утилита ring и « — для работы с 1С старше версии > 8.3.11
Особенности
Отличия от gitsync версий 2.x
- Полностью другая строка вызова приложения, а именно используется стандарт POSIX.
- Работа с хранилищем конфигурации реализовано на основании библиотеки v8storage
- Реализована поддержка работы с http и tcp хранилищами
- Функциональность работы через tool1CD — перенесена в предустановленный плагин tool1CD
- Вместо двух команд sync и export оставлена только одна команда sync , которая работает как команда export в предыдущих версиях, при это функциональность синхронизации с удаленным репозиторием (команды git pull и git push ) перенесена в отдельный плагин sync-remote
- Отказ от поддержки работы с форматом plain при выгрузке конфигурации в исходники
- Отказ от поддержки файла renames.txt и переименования длинных файлов
- Расширяемость функционала за счет использования механизма подписок на события
- Пока не поддерживается синхронизация с несколькими хранилищами одновременно. (команда all )
Описание функциональности
Раздел документации в разработке
Использование приложения gitsync
Подготовка нового репозитория
Данный шаг можно пропустить, если у Вас уже готова рабочая копия git репозитория
- Если у Вас уже есть удаленный репозиторий (уже делалась синхронизация с git) и вы проводили синхронизацию тогда следует воспользоваться командой clone
gitsync clone —storage-user Администратор —storage-pwd Секрет (необязательный)
Справка по команде clone : gitsync clone —help
Больше примеров можно увидеть, использовав команду gitsync usage clone
- Если у Вас нет удаленного репозитория, тогда стоит воспользоваться командой init для выполнения начальной настройки и наполнения данными рабочего каталог
gitsync init —storage-user Администратор —storage-pwd Секрет C:/Хранилище_1С/ C:/GIT/src
Данная команда создаст новый репозиторий git в каталоге C:/GIT/src из хранилища 1С по пути C:/Хранилище_1С/ и наполнил его служебными файлами VERSION и AUTHORS
gitsync init —storage-user Администратор —storage-pwd Секрет http:/www.storages.1c.com/repository.1ccr/ИмяХранилища C:/GIT/src
Тоже самое только для http хранилищем по адресу http:/www.storages.1c.com/repository.1ccr/ИмяХранилища
Справка по команде init : gitsync init —help
Больше примеров можно увидеть, использовав команду gitsync usage init
Установка соответствия пользователей
Данный шаг можно пропустить, если у Вас уже установлено соответствие пользователей хранилища 1с и git
Для настройки соответствия между пользователями хранилища 1с и git предназначен Файл AUTHORS .
Данный файл имеет формат ini файла.
слева указано имя пользователя хранилища 1С справа — представление имени пользователя репозитория Git и его e-mail
С помощью e-mail выполняется связка пользователя с публичными репозиториями (например, Github или Bitbucket)
Установка начальной версии из хранилища 1С для синхронизации
Данный шаг можно пропустить, если у Вас уже установлена или заполнения версия в файле VERSION
Для настройки последней синхронизированной(выгруженной в рабочий каталог) версии хранилища 1С служит файл VERSION .
Данный файл имеет формат xml
Пример файла, в котором указано, что выгружено 10 версий:
Данный файл можно отредактировать в ручную или воспользовавшись командой set-version .
gitsync set-version (необязательный)
Данная команда установит указанную версию в файл VERSION , который лежит в каталоге
Справка по команде set-version : gitsync set-version —help
Для удобства использования команда set-version имеет короткое название sv .
Больше примеров можно увидеть, использовав команду gitsync usage set-version
Настройка плагинов синхронизации
Данный пункт можно пропустить, если Вам не требуется дополнительная функциональность синхронизации
Для расширения функциональности синхронизации предлагается механизм плагинов. Данный механизм реализован через подписки на события синхронизации, с возможностью переопределения стандартной обработки.
Для обеспечения управления плагинами реализована подкоманда plugins , а так же ряд вложенных команд:
- init — Инициализация предустановленных плагинов
- list — Вывод списка плагинов
- enable — Активизация установленных плагинов
- disable — Деактивизация установленных плагинов
- install — Установка новых плагинов
- clear — Очистка установленных плагинов
- help — Вывод справки по выбранным плагинам
- gitsync plugins enable limit — будет активирован плагин limit
- gitsync plugins list — будет выведен список всех активированных плагинов
- gitsync plugins list -a — будет выведен список всех установленных плагинов
Справка по команде plugins : gitsync plugins —help
Для удобства использования команда plugins имеет короткое название p .
Больше примеров можно увидеть, использовав команду gitsync usage plugins
Для хранения установленных плагинов и списка активных плагинов используется каталог локальных данных приложения
Список предустановленных плагинов:
Для инициализации предустановленных плагинов необходимо выполнить команду gitsync plugins init
- increment — обеспечивает инкрементальную выгрузку конфигурации в исходники
- sync-remote — добавляет функциональность синхронизации с удаленным репозиторием git (команды git pull и git push )
- limit — добавляет возможность ограничения на минимальный, максимальный номер версии хранилища, а так же на лимит на количество выгружаемых версий за один запуск
- check-authors — добавляет функциональность проверки автора версии в хранилище на наличие соответствия в файле AUTHORS
- check-comments — добавляет функциональность проверки на заполненность комментариев в хранилище
- smart-tags — добавляет функциональность автоматической расстановки меток в git (команда git tag ) при изменении версии конфигурации
- unpackForm — добавляет функциональность распаковки обычных форм на исходники
- tool1CD — заменяет использование штатных механизмов 1С на приложение tool1CD при синхронизации
- disable-support — снимает конфигурацию с поддержки перед выгрузкой в исходники
Синхронизация
Команда sync (синоним s) — выполняет синхронизацию хранилища 1С с git-репозиторием
Подробную справку по опциям и аргументам см. gitsync sync —help
Справка по использованию команды
Глобальные переменные окружения
Имя | Описание |
---|---|
GITSYNC_V8VERSION | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
GITSYNC_V8_PATH | путь к исполняемому файлу платформы 1С (Например, /opt/1C/v8.3/x86_64/1cv8) |
GITSYNC_VERBOSE | вывод отладочной информации в процессе выполнения |
GITSYNC_TEMP | путь к каталогу временных файлов |
GITSYNC_EMAIL | домен почты для пользователей git |
Переменные окружения команды
Имя | Описание |
---|---|
GITSYNC_WORKDIR | рабочий каталог для команды |
GITSYNC_STORAGE_PATH | путь к хранилищу конфигурации 1С. |
GITSYNC_STORAGE_USER | пользователь хранилища конфигурации |
GITSYNC_STORAGE_PASSWORD | пароль пользователя хранилища конфигурации |
Значения по умолчанию
WORKDIR | текущая рабочая директория |
-u, —storage-user | пользователь Администратор |
Примеры использования
gitsync sync C:/Хранилище_1С/ C:/GIT/src
Данная команда выполнить синхронизацию хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/GIT/src
Инициализация в текущем рабочем каталоге,
переменная окружения GITSYNC_WORKDIR не должна быть задана
Данная команда выполнить синхронизацию хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/work_dir
Инициализация в с указанием пользователя и пароля.
Данная команда выполнить синхронизацию хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/work_dir Используя для подключения к хранилищу 1С пользователя Admin и пароль Secret
Использование синонимов (короткая версия предыдущего примера)
Данная команда выполнить синхронизацию хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/work_dir Используя для подключения к хранилищу 1С пользователя Admin и пароль Secret
Использование конкретной исполняемого файла платформы
Данная команда синхронизации выполнится с использованием исполняемого файла платформы /opt/1C/v8.3/x86_64/1cv8 для хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/work_dir Используя для подключения к хранилищу 1С пользователя Admin и пароль Secret
Использование только переменных окружения
Данная команда выполнить синхронизацию хранилища 1С по пути C:/Хранилище_1С/ и репозитория git в каталоге C:/work_dir Используя для подключения к хранилищу 1С пользователя Admin и пароль Secret
Использование библиотеки gitsync
Раздел документации в разработке
Доработка и разработка плагинов
Как разработать свой или доработать текущие плагины
- Как создать свой плагин
- Доработка предустановленных плагинов производится в отдельном репозитории gitsync-plugins
Механизм подписок на события
Раздел документации в разработке
Проект gitsync поддерживает ряд подписок на события
Сборка проекта
Сборка производится в 2-х режимах:
Сборка обычного пакета (без зависимостей)
при данной сборки не собираются предустановленные пакеты. Их надо будет устанавливать отдельно
Сборка пакета с зависимостями
opm build -mf ./build_packagedef .
При данной сборке будут дополнительно собраны из репозиториев:
- opm — из ветки develop
- gitsync-pre-plugins — из вертки develop
Доработка
Доработка проводится по git-flow. Жду ваших PR.
Техническая поддержка: | |
Россия | 8 (800) 55-55-256 |
Москва | 8 (495) 668-08-22 |
Санкт-Петербург | 8 (812) 309-06-46 |
звонок бесплатный |
Для выяснения данных установленных на компьютере программных лицензий я использую утилиту ring (https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000674) и ее модуль license (https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000679)
Однако, использование утилиты ring осложняется необходимостью установки на компьютер пользователя JRE (Java) (https://www.oracle.com/technetwork/java/javase/downloads/2133155), установки дополнительных модулей JCE (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) в «тело» JRE и установки самой утилиты ring и модуля license. Процесс не очень быстрый, да и админские права не всегда есть. В результате, решил сделать ускорение этой работы. Идея: было бы здорово, придти к клиенту , воткнуть флэшку и получить сразу, без установки всего этого софта, утилиту ring. Предлагаю способ получения данного результата.
На флэшке E: создал директорию gvkLic .
Скачал на компьютер и распаковал JRE (https://www.oracle.com/technetwork/java/javase/downloads/2133155 для Windows x86 re-8u191-windows-i586.tar.gz ) . Директорию jre1.8.0_191 поместил в E: gvkLic. Скачал JCE по ссылке выше и поместил модули local_policy.jar и US_export_policy.jar в директорию E:gvkLicjre1.8.0_191libsecurity .
Установил утилиту ring и модуль license из каталога C:Program Files (x86)1cv88.3.13.1644ExtDst (1c-enterprise-ring-0.11.4-1.x86.msi и 1c-enterprise-license-tools-0.7.0-1.x86.msi соответственно). Переписал директорию C:Program Files (x86)1C1CE в директорию E:gvkLic; сделал копию файла E:gvkLic1CE
ingring.cmd в файл E:gvkLicring.bat. В последний файл внес изменения :
заменил на строки :
Для запуска использую Выполнить → cmd . В окне команд набираю cd E:gvkLic и за тем
ring.bat license -help
Можно в директории E:gvkLic нажать с шифтом правую кнопку и выбрать пункт меню «открыть окно PowerShell здесь» , после чего набрать в нем :
получив тот же результат.
Таким образом подготовленная флэшка экономит кучу времени и нервов.