Обзор#

Назначение#

Командная утилита предназначена для автоматизации работы разработчика.

Gsf-cli позволяет:

  • Подготовить прикладной проект к работе

  • Обновить зависимости необходимые для работы проекта

Установка#

  1. Скачайте дистрибутив gsf-cli

    Внимание

    curl https://repo.global-system.ru/artifactory/common/ru/bitec/gsf-cli/SNAPSHOT/gsf-cli-SNAPSHOT.zip –output gsf-cli.zip

    Для ручного обновления утилиты можно в каталоге с:\programs\ сделать cmd файл следующего содержания (пути подправить по необходимости) curl https://repo.global-system.ru/artifactory/common/ru/bitec/gsf-cli/SNAPSHOT/gsf-cli-SNAPSHOT.zip –output gsf-cli.zip «C:\Program Files\7-Zip\7z.exe» x gsf-cli.zip -aoa -ogsf-cli pause

  2. Распакуйте архив
    Рекомендуемый путь для установки: с:\programs\gsf-cli

  3. Установите jdk
    Установленные jdk будут искаться по адресу c:\Program Files\Java

  4. Установите Intellij Idea
    Установленные среды будут искаться по адресу C:\Program Files\JetBrains

    Внимание

    В Idea должен быть установлен плагин scala. Подробности корректной установки смотрите в руководстве прикладного разработчика Global3 Framework.

  5. Установите sbt версии 1.8.2 или выше

    Внимание

    Sbt должен быть установлен по адресу c:\programs\sbt\.

  6. При необходимости установите svn клиент
    Для авто поиска путь доступа к svn.exe должен быть добавлен с системную переменную path. Установщик TortoiseSVN может делать это автоматически

  7. При необходимости установите git клиент

Добавление проекта в рабочее пространство#

Внимание

Если перед началом работы открыта среда разработки в общем окружении ее необходимо закрыть.

Для добавление проекта запустите скрипт gsf-cli\links\add_project.cmd и следуйте инструкциям мастера. Мастер запросит необходимые параметры, и проведет подготовку проекта к работе.

Внимание

При возникновении ошибки загрузки модулей из 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}\
    Ярлыки быстрого запуска

  • добавленный проект становиться активным

Источник проекта#

Мастер конфигурации запрашивает источник определяющий откуда будет получен исходный код проекта. Формат источников:

  • svn

    https://{path}/application
    
  • git

    https://{path}.git
    
  • lxc

    lxc://{host}
    

    Lxc является контейнером в котором собирается проект в системе CI

Работа с активным проектом#

Активный проект это проект который будет использоваться по умолчанию в случаи если он не указан явно. Часты команды по работе с активным проектом смотрите в gsf-cli\links\

Обновление активного проекта#

Для обновления зависимостей активного проекта запустие gsf-cli\links\active_project_refresh.cmd

Конфигурирование сервера приложения#

Сервер приложения конфигурируется автоматически, для этого используется профиль конфигурации. Пример: http://svn.bitec.ru/svn/depot/ASSource/database/pgtest/application/project/deploy/dev-win

Изменения настроек проекта#

  • Удалите проект командой gsf-cli\links\delete_project.cmd
    При вопросе об удалении файлов ответьте нет

  • Добавьте проект с тем же именем и новыми параметрами

Примечание

Данный подход имеет смысл только в случаи если не меняется источник проекта. Это позволяет избежать повторной выгрузки и компиляции проекта

Изменения глобальных настроек#

Для изменения глобальных cli запустите в консоли команду gsf-cli\config.cmd configure

Хранения паролей#

Пароли сохраняются в зашифрованном виде по мастер ключу. Мастер ключ создается автоматически при первом добавлении проекта. Мастер добавления проекта запрашивает необходимые для дальнейшей работы пароли. Для изменения паролей смотри раздел credential_manager

Горячии клавиши#

  • вверх, вниз
    Используется для выбора разных вариантах

  • вправо
    Используется для авто завершения команды