Сборка приложения из репозитория¶
Для быстрого запуска приложений с использованием репозитория GitHub выполните следующие шаги:
- Установите системное окружение и глобальные зависимости.
- Клонируйте ядро, модуль и приложение.
- Соберите и разверните приложение.
- Запустите.
Ниже - развернутая инструкция, как собрать приложение из репозитория GitHub.
Развернутая инструкция¶
Системное окружение и глобальные зависимости¶
Запуск фреймворка осуществляется в среде Node.js версии 10.x.x.
Для хранения данных необходимо установить и запустить MongoDb версии старше 3.6.
Для сборки компонентов и библиотек фреймворка необходимо установить глобально:
- пакет node-gyp
npm install -g node-gyp. Для работы библиотеки под операционной системой семейства windows дополнительно необходимо установить пакет windows-build-toolsnpm 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 конфигурации запуска.