Сборка приложения из репозитория

Для быстрого запуска приложений с использованием репозитория GitHub выполните следующие шаги:

  1. Установите системное окружение и глобальные зависимости.
  2. Клонируйте ядро, модуль и приложение.
  3. Соберите и разверните приложение.
  4. Запустите.

Ниже - развернутая инструкция, как собрать приложение из репозитория GitHub.

Развернутая инструкция

Системное окружение и глобальные зависимости

Запуск фреймворка осуществляется в среде Node.js версии 10.x.x.

Для хранения данных необходимо установить и запустить MongoDb версии старше 3.6.

Для сборки компонентов и библиотек фреймворка необходимо установить глобально:

  • пакет node-gyp npm install -g node-gyp. Для работы библиотеки под операционной системой семейства windows дополнительно необходимо установить пакет windows-build-tools npm install -g --production windows-build-tools.
  • пакет сборщика проектов Gulp npm install -g gulp@4.0. 4.0 - поддерживаемая версия Gulp.
  • для версий IONDV. Framework 3.x.x и более ранних нужен менджер пакетов фронтенд библиотек Bower npm install -g bower. Для версия 4.х.х и старше не требуется.

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

Рассматриваем на примере приложения develop-and-test. Находим приложение develop-and-test в репозитории. Смотрим зависимости указаные в файле package.json.

 "engines": {
  "ion": "1.24.1"
},
"ionModulesDependencies": {
  "registry": "1.27.1",
  "geomap": "1.5.0",
  "graph": "1.3.2",
  "portal": "1.3.0",
  "report": "1.9.2",
  "ionadmin": "1.4.0",
  "dashboard": "1.1.0",
  "lk": "1.0.1",
  "soap": "1.1.2",
  "gantt-chart": "0.8.0"
},
"ionMetaDependencies": {
  "viewlib": "0.9.1"
  "viewlib-extra": "0.1.0"
  • Начинаем установку с ядра, версия которого указана в парметре "engines": {"ion": "1.24.1"}. Скопируйте адрес репозитория ядра и в командной строке выполните комманду git clone https://github.com/iondv/framework. Перейдите в папку ядра, переключитесь на tag номера версии git checkout tags/v1.24.1. Так как совместимость обеспечивается на уровне метаданных, а новые версии выпускались из-за изменения технологии сборки, то вы можете использовать последние, например 4.0.0.
  • После этого устанавливаются необходимые для приложения модули, указанные в параметре "ionModulesDependencies". Модули устанавливаются в папку modules ядра, для этого перейдите в неё командой cd modules. Клонируем модули из списка "ionModulesDependencies", для модуля registry это осуществляется командой git clone https://github.com/iondv/registry. Перейдите в папку установленного модуля, переключитесь на tag номера версии git checkout tags/v1.27.1. Повторите для каждого модуля. Для большинства приложений, можно использовать последние совместимые с ядром модули.
  • Установка самого приложения осуществляется в папку applications, для этого перейдите в неё командой cd ..\applications, если вы находитесь в папке модулей. Установку выполните клонированием репозитория коммандой git clone https://github.com/iondv/dnt_ru.
  • После этого установите дополнительно необходимые приложения из параметра "ionMetaDependencies". Установка осуществляется в папку applications, для установки необходимо убедиться, что находитесь в папке приложений. Клонируем приложения из списка в параметре "ionMetaDependencies", для приложения viewlib осуществляется командой https://github.com/iondv/viewlib. Перейдите в папку установленного приложения, переключитесь на tag номера версии git checkout tags/v0.9.1. Повторите для каждого приложения.

Сборка, конфигурирование и развертывание приложения

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

Создайте конфигурационный файл setup.ini в папке config, куда был клонирован фреймворк для задания основных параметров окружения приложения.

auth.denyTop=false
auth.registration=false
db.uri=mongodb://127.0.0.1:27017/db
server.ports[]=8888
module.default=registry
fs.storageRoot=./files
fs.urlBase=/files

Открываем файл в редакторе и вставляем содержимое. Самый главный параметр db.uri=mongodb://127.0.0.1:27017/ion-dnt - он указывает на название базы, которую мы будем использовать для приложения. База данных будет создана автоматически.

Задайте переменную окружения NODE_PATH равной пути к ядру приложения следующей командой set NODE_PATH=c:\workspace\dnt для Windows и export NODE_PATH=/workspace/dnt для Linux, где workspace\dnt - папка куда склонирован фреймворк.

При первом запуске необходимо выполнить npm install - она поставит ключевые зависимости, в том числе локально сборщик gulp.

Далее выполните команду сборки приложения gulp assemble.

Если вы хотите выполнить импорт данных в вашем проекте, проверьте папку data в приложении и выполните команду: node bin/import-data --src ./applications/develop-and-test/data --ns develop-and-test

Добавьте пользователя admin с паролем 123 командой node bin\adduser.js --name admin --pwd 123.

Добавьте пользователю права администратора командой node bin/acl.js --u admin@local --role admin --p full.

Запуск

Запустите приложение командой в папке ядра npm start или node bin\www.

Откройте браузер с адресом http://localhost:8888 и авторизуйтесь в приложении, где 8888 - порт указанный в параметре server.ports конфигурации запуска.