Обзор#
Назначение#
Командная утилита предназначена для автоматизации работы разработчика.
Gsf-cli позволяет:
Подготовить прикладной проект к работе
Обновить зависимости необходимые для работы проекта
Собрать прикладные JAR-файлы в
applibи исходные артефакты вappsrcОпубликовать артефакты комплекта сборки
CLI написан на Python. Сборкой прикладного кода управляет SBT;
Для первого запуска выберите Linux или Windows. Там собраны все шаги, включая закрытые репозитории и headless. Для CI сначала подготовьте GitLab Runner или Jenkins Agent.
Требования#
Для работы утилиты требуется
pythonначиная с версии3.9.2JDK
21sbtтолько версий 1.x, начиная с версии1.8.2git
Linux-дистрибутив содержит offline wheels для CPython версий 3.9.2–3.13 на архитектуре x86_64.
Необходимые библиотеки:#
Прописаны в requirements.txt:
bcrypt==4.0.1certifi==2023.7.22cffi==2.0.0charset-normalizer==3.2.0cryptography==46.0.5debugpy==1.8.16decorator==5.1.1defusedxml==0.7.1fabric==3.1.0idna==3.4invoke==2.2.0Jinja2==3.1.6MarkupSafe==3.0.3paramiko==4.0.0prompt-toolkit==3.0.39psutil==5.9.5pycparser==2.21PyNaCl==1.5.0PyYAML==6.0.3requests==2.32.5ruamel.yaml==0.17.32ruamel.yaml.clib==0.2.15setuptools==81.0.0tqdm==4.67.3urllib3==2.6.3wcwidth==0.2.6
Дополнительный пакет для Linux#
python3-venv
Готовый Windows-дистрибутив включает Python. Linux-окружение создаётся при установке.
Установка#
Ниже — краткая установка рабочего места Windows с IDEA. Для настройки закрытых источников до первого добавления проекта используйте полную главу Windows, указанную выше.
Скачайте дистрибутив
gsf-clicurl https://repo.global-system.ru/artifactory/common/ru/bitec/gsf-cli-windows/SNAPSHOT/gsf-cli-windows-SNAPSHOT.zip --output gsf-cli.zip
Для ручного обновления утилиты можно в каталоге с:\programs\ сделать cmd файл следующего содержания (пути подправить по необходимости)
curl https://repo.global-system.ru/artifactory/common/ru/bitec/gsf-cli-windows/SNAPSHOT/gsf-cli-windows-SNAPSHOT.zip --output gsf-cli.zip "C:\Program Files\7-Zip\7z.exe" x gsf-cli.zip -aoa -ogsf-cli pause
Распакуйте архив
Рекомендуемый путь для установки:C:\programs\gsf-cliУстановите JDK 21
Установленные jdk будут искаться по адресуC:\Program Files\JavaУстановите Intellij Idea
Установленные среды будут искаться по адресуC:\Program Files\JetBrainsВнимание
В IDEA должен быть установлен плагин Scala. Подробности корректной установки смотрите в
руководстве прикладного разработчика GlobalERP Framework.Установите sbt версии 1.x, начиная с 1.8.2
Внимание
Sbt должен быть установлен по адресу
c:\programs\sbt\.Установите Git, если он ещё не установлен
Добавление проекта в рабочее пространство#
Внимание
Если перед началом работы открыта среда разработки в общем окружении ее необходимо закрыть.
Для добавления проекта запустите скрипт gsf-cli\links\add_project.cmd и следуйте инструкциям мастера.
Мастер запросит необходимые параметры и предложит подготовить проект к работе. Учётные данные закрытых источников и
переменные SBT должны быть настроены заранее.
Внимание
Внимательно читайте запросы мастера.
Внимание
При возникновении ошибки загрузки модулей из GitLab
fatal: Unencrypted HTTP is not supported for GitHub. Ensure the repository remote URL is using HTTPS.
следует выполнить команду
git config --global credential.extgit.global-system.ru.provider generic
и повторить добавление проекта.
Результат выполнения всех шагов мастера:
gsf-cli\workspace\dists\{project_name}\Global3se\
Актуальный дистрибутив сервера приложенияgsf-cli\workspace\sources\{project_name}\application\
Полностью готовый к работе проект с исходным кодомgsf-cli\workspace\links\{project_name}\
Ярлыки быстрого запускаДобавленный проект становится активным, если вы подтвердили активацию в мастере
Источник проекта#
Мастер конфигурации запрашивает источник определяющий откуда будет получен исходный код проекта. Формат источников:
GIT
https://{path}.git
LXC
lxc://{host}
LXCявляется контейнером в котором собирается проект в системеCI
LXC предусмотрен в интерактивном мастере. Загрузка такого источника через config load_config пока не реализована;
инструкции сборки через config.json используют Git.
Работа с активным проектом#
Активный проект - это проект, который будет использоваться по умолчанию в случае если он не указан явно.
Регулярные команды по работе с активным проектом смотрите в gsf-cli\links\
В автоматической сборке указывайте проект явно: manage.cmd -p <project_name> build или
./manage.sh -p <project_name> build. При загрузке config.json проект автоматически не активируется.
Обновление активного проекта#
Для обновления зависимостей активного проекта запустите gsf-cli\links\active_project_refresh.cmd
Конфигурирование сервера приложения#
Сервер приложения конфигурируется автоматически, для этого используется профиль конфигурации.
Изменения настроек проекта#
Удалите проект командой
gsf-cli\links\delete_project.cmd
При вопросе об удалении файлов ответьтенет, что бы не выкачивать данные повторно.Добавьте проект с тем же именем и новыми параметрами.
Примечание
Данный подход имеет смысл только в случае если не меняется источник проекта, не считая SSL. Это позволяет избежать повторной выгрузки и компиляции проекта.
Изменения глобальных настроек#
Для изменения глобальных cli запустите в консоли команду gsf-cli\config.cmd configure
Хранения паролей#
Пароли сохраняются в зашифрованном виде по мастер ключу.
Мастер предлагает зарегистрировать ключ при первом добавлении проекта. Для настройки без мастера используется
config register_private_key -c <каталог> — примеры для обеих ОС есть в главах установки. Мастер добавления проекта
запрашивает необходимые для дальнейшей работы пароли. Для изменения паролей
смотри менеджер учётных данных.
Горячие клавиши#
вверх,вниз
Используется для выбора разных вариантов.вправо
Используется для автоматического завершения команд.