logo

Сервер разработки приложений (DevServer)

Внимание!
Сервер разработки доступен начиная с версии 4.1.9

Сервер разработки (DevServer) — приложение, основным назначением которого является предоставление инструментария для функционала для системы ELMA4.

Интерфейс командной строки (ELMA CLI) сервера разработки (DevServer) — это консольное приложение, которое позволяет выполнять различные служебные команды, создавать и извлекать объекты, публиковать модули и запускать сервер разработки приложений.

Существует два режима работы:

  • запуск сервера разработки;
  • интерфейс командной строки.

Эти режимы отличаются инициализацией приложения и жизненным циклом:

  • при запуске приложения в режиме сервера разработки происходит полная инициализация сервисов и зависимостей. После успешного запуска приложения откроется web-страница;
  • при запуске приложения в режиме интерфейса командной строки происходит первоначальное наполнение контейнера зависимостей, но инициализация сервисов не производится. В зависимости от команды, не всегда требуется полностью инициализированное состояние приложения. Инициализация производится непосредственно кодом команды и является деталью её реализации.

Настройка CLI

Чтобы настроить и запустить интерфейс командной строки, выполните следующие действия:

  1. Установите на локальной машине ELMA4 (скачайте из личного кабинета).
  2. Установите на локальной машине инструменты для сборки .NET. Это можно сделать одним из вариантов:
    • установить VisualStudio 2022. При установке выбрать компоненты для разработки классических приложений;
    • установить Visual Studio Build Tools и выбрать Средства сборки классических приложений .Net.
  3. Установите DevServer (скачайте из личного кабинета):
    • если DevServer устанавливался по умолчанию в папку с ELMA4, все пути зависимостей будут настроены корректно;
    • если выбрали другую папку, настройте путь вручную. Для этого измените пути в appsettings.json.
  4. Для удобства можно прописать в системную переменную PATH путь до DevServer/bin (выполняется только один раз).

Команды

Для вызова команды напишите в командную строку: elma-cli <action> -options, где:

  • action — название команды;
  • options — параметры команды.

Параметры с символом * обязательны для заполнения.

Help

Это команда для просмотра справки.

Использование: elma-cli -h (-?, -h, --help)

Пример команды: elma-cli --help

Server

Это команда для запуска DevServer для работы с модулем или приложением.

Использование: Server [<Path>] -options, где:

  • Path (-p, --path) — путь до каталога с приложением;
  • Port (--port) — порт для запуска приложения.

Пример команды: elma-cli server -p "D:\\repos\\elma4-designer-app\\" --port 5001

При выполнении команды, указанной в примере, запустится DevServer по пути D:\\repos\\elma4-designer-app\\ с портом 5001.

Create Ui

Внимание!
Команды создания Create UI и Create ClassicModule используются в версии системы ELMA4 4.1.18 и выше.

Это команда создания объекта конструктора интерфейсов.

Использование: Create Ui <Object> <Name> -options, где:

  • Object* (--object) — тип объекта:
    • App — создать приложение;
    • Module — создать модуль;
  • Name* (--name) — имя объекта;
  • Path (-p, --path) — каталог для выполнения команды.

Приложение (App) — готовое приложение BPM APP, которое может содержать в себе несколько модулей ELMA4. Оно предназначено для расширения базовых возможностей ELMA4. При публикации приложения публикуются все его модули.

Модуль (Module) — содержит в себе различные компоненты, страницы, портлеты, функции или структуры обмена данных.

Пример команды: elma-cli create -p "D:\\temp\\" --object Module --name "EleWise.ELMA.TestModule"

При выполнении указанной команды создаётся модуль в каталоге "D:\\temp\\" с названием "EleWise.ELMA.TestModule".

Create ClassicModule

Внимание!
Команды создания Create UI и Create ClassicModule используются в версии системы ELMA4 4.1.18 и выше.

Это команда создания классического модуля.

Использование: Create ClassicModule <Object> <Name> -options, где:

  • Object* (--object) — тип модуля:
    • Example — пример модуля (Web + Server) с компонентами, менеджерами и т. п.;
    • Web — шаблон web-модуля;
    • Server — шаблон серверного модуля;
    • Full — шаблон полного модуля (Web + Server);
  • Name* (--name) — имя модуля;
  • Path (-p, --path) — каталог для выполнения команды.

Пример команды: elma-cli create classicmodule -p "D:\\temp\\" --object example --name "EleWise.ELMA.TestClassicModule"

При выполнении указанной команды в каталоге "D:\\temp\\" создаётся модуль под названием "EleWise.ELMA.TestClassicModule" с двумя проектами:

  • "EleWise.ELMA.TestClassicModule" — отвечает за серверную часть;
  • "EleWise.ELMA.TestClassicModule.Web" — отвечает за веб-часть.

Create

Внимание!
Команда создания Create используется в версиях системы ELMA4 до 4.1.17 включительно.

Это команда для создания объекта.

Использование: Create <Object> <Name> -options, где:

  • Object* (--object) — тип объекта:
    • App — создать приложение;
    • Module — создать модуль;
  • Name* (--name) — имя объекта;
  • Path (-p, --path) — каталог для выполнения команды.

Приложение (App) — это готовое приложение BPM APP, которое может содержать в себе несколько модулей ELMA4. Оно предназначено для расширения базовых возможностей ELMA4. При публикации приложения публикуются все его модули.

Модуль (Module) — это единица, которая содержит в себе различные компоненты, страницы, портлеты, функции или структуры обмена данных.

Пример команды: elma-cli create -p "D:\\temp\\" --object Module --name "EleWise.ELMA.TestModule"

При выполнении команды, указанной в примере, создаётся модуль в каталоге "D:\\temp\\" с названием "EleWise.ELMA.TestModule".

Rename

Это команда для переименования объекта.

Использование: Rename <Object> <Name> <NewName> -options, где:

  • Name* (-N) — текущее имя объекта;
  • NewName* (-Ne) — новое имя объекта;
  • Object* (--object) — тип объекта:
    • Module — переименовать модуль;
  • Path (-p, --path) — каталог для выполнения команды.

Пример команды: elma-cli rename -N "EleWise.ELMA.TestModule" --object Module --path "D:\\Test\\" -Ne "EleWise.ELMA.SomeName"

При этом будет переименован модуль "EleWise.ELMA.TestModule" по пути "D:\\Test\\" в "EleWise.ELMA.SomeName".

Publish

Это команда для публикации модуля.

Использование: Publish <Object> <Name> -options

Базовые обязательные параметры команды:

  • публикуемый объект Object, приложение или модуль: App|Module;
  • --name <Имя модуля или приложения> — имя публикуемого объекта (приложения или модуля) Name.

Опции options:

  • Id (--id) — идентификатор объекта экспорта;
  • Description (-d, --desc) — описание объекта экспорта;
  • Author (--author) — автор объекта экспорта;
  • Version (-v, --ver) — версия объекта экспорта;
  • SameVersion (--samever) — использовать указанную версию приложения в качестве версии всех модулей;
  • EmbeddedDependencies (--ed) — зависимости для упаковки вместе в одно приложение вместе с публикуемым объектом. Можно указывать несколько идентификаторов;
  • ActivationType (--at) —тип активации (Paid, Free). Пример: --at Paid;
  • Release (-r, --release) — релизный вариант публикации;
  • Compile (--compile) — провести компиляцию модулей. Значение по умолчанию: False. Не используйте эту опцию для последующей установки модуля или приложения в ELMA4;
  • AutoDeploy (--autodeploy) — генерировать маркерный файл авторазвертывания. Значение по умолчанию: False;
  • Output (-o, --out) — каталог для результата публикации;
  • CertificatePath (--certpath) — путь до файла сертификата компонента ELMA Store;
  • CertificatePassword (--certpwd) — пароль для сертификата;
  • PlatformVersion (--pver) — диапазон совместимых версий платформы. Только для экспорта приложения. Диапазон задаётся в формате nuget, например: [4.0.0.0, 4.1.0.0). Если диапазон не задан, он вычисляется автоматически по используемой версии базового модуля платформы из репозитория пакетов;
  • Path (-p, --path) — каталог для выполнения команды. По умолчанию — текущий каталог.

Пример команды: elma-cli publish module --compile --name="EleWise.ELMA.TestModule" -v 4.0.0.2 --id=EleWise.ELMA.TestModule --path "D:\\Test\\" -o "D:\\Test\\" --author "ELMA"

При выполнении команды, указанной в примере, опубликуется модуль "EleWise.ELMA.TestModule" с версией 4.0.0.2 по пути "D:\\Test\\" с автором ELMA в папке "D:\\Test\\".

Migrate

Это команда для запуска миграции кода.

Использование: Migrate <MigrationName> -options, где:

  • MigrationName (-M) — имя миграции;
  • Path (-p, --path) — путь;
  • List (--list) — вывести список миграций.

Пример команды для отображения списка доступных миграций:

elma-cli Migrate –list

Пример команды для миграции Resave по пути "D:\\Test\\":

elma-cli migrate Resave -p "D:\\Test\\"

Доступна миграция Resave, которая позволяет пересохранять файлы метаданных и перегенерировать .designer файлы.

Generate

Это команда для запуска генерации вспомогательного кода.

Использование: Generate -options, где:

  • Files (--files) — сгенерировать дополнительные файлы с исходным кодом;
  • Force (-f) — перегенерировать существующие файлы. Значение по умолчанию: True;
  • DynamicAssemblies (--dyn) — сгенерировать динамические сборки для проектов модулей;
  • All (-a, --all) — включает в себя генерацию файлов (Files) и динамических сборок (DynamicAssemblies).

Текущая папка, на которую указывает командная строка, должна содержать решение или проект с модулем.

Пример команды, чтобы принудительно сгенерировать все файлы, даже если они уже существуют:

elma-cli generate -a –f

ClearCache

Это команда для очистки кэша.

Использование: ClearCache -options, где:

  • ClearStartupCache (-s, --startup) — очистить кэш запуска;
  • ClearBuildCache (-m, --modules) — очистить кэш сборки модулей;
  • ClearModuleRepositoryCache (-r, --repository) — очистить кэш репозитория упакованных модулей.

Текущая папка, на которую указывает командная строка, должна содержать решение или проект с модулем.

Пример команды для очистки кэша репозитория упакованных модулей в текущей папке:

elma-cli clearcache –r

Если возникли ошибки, сервер приложений логирует всю необходимую информацию по пути: {Директория установки DevServer}\logs\.

Конфигуратор логгера находится по пути {Директория установки DevServer}\log4net.config.

Cтатьи в категории