Утилита для управления приложениями в кластере InfinniPlatform.
Установка Infinni.Node выполняется с помощью скрипта.
По умолчанию устанавливается последняя версия утилиты:
> Infinni_Node_Install.bat # устанавливает последнюю версию утилиты Infinni.Node
Однако можно установить любую доступную версию утилиты:
> Infinni_Node_Install.bat 1.2.0.19-master # устанавливает версию '1.2.0.19-master' утилиты Infinni.Node
Подробнее см. документацию InfinniPlatform.
Установка приложения:
> Infinni.Node.exe install -i MyPackage
Запуск приложения:
> Infinni.Node.exe start -i MyPackage
Статус приложения:
> Infinni.Node.exe status -i MyPackage
Остановка приложения:
> Infinni.Node.exe stop -i MyPackage
Удаление приложения:
> Infinni.Node.exe uninstall -i MyPackage
Вызов справки по командам:
> Infinni.Node.exe help [command]
Дистрибутив приложения выполняется в виде обычного NuGet-пакета, который должен включать необходимый набор файлов и зависимостей. Пакеты могут размещаться на любом допустимом NuGet-источнике, включая обычную файловую систему.
В конфигурационном файле утилиты можно указать несколько NuGet-источников, которые будут использоваться
по умолчанию, если команда install
была вызвана без явного указания источника. После установки
для приложения будет создан отдельный каталог, который будет содержать все файлы, содержащиеся в
пакете и его зависимостях.
Утилита поддерживает установку нескольких версий одного и того же приложения, а также нескольких экземпляров одной и той же версии. Для каждого экземпляра каждой версии каждого приложения при установке создается свой рабочий каталог.
Каждое приложение работает в отдельно выделенном процессе под управлением Infinni.NodeWorker.exe
.
В рамках этого процесса для приложения создается отдельный домен приложения, который нацелен на
соответствующий рабочий каталог.
Утилита является кроссплатформенной, поэтому может работать как в Windows, так и в Linux. Работа в
Linux обеспечивается за счет Mono
, поэтому вызов утилиты в командной строке Linux должен начинаться
с команды mono
:
> mono Infinni.Node.exe ...
При установке приложений в Windows они уставливаются, как Windows Services. При установке приложений в Linux они уставливаются, как Daemons (пока только в виде LSB-совместимого скрипта в init.d). На этом основные отличия заканчиваются.
Утилита обеспечивает кроссплатформенную инфраструктуру для управления приложениями, однако не может гарантировать, что отдельно взятое приложение является кроссплатформенным. Платформенная независимость приложения должна обеспечиваться разработчиком самого приложения.