Multi-tool GodziRX - автоматизация установки компонентов для DirectumRX

Следующий проект

Помните свою первую установку DirectumRX? Какие чувства с этим связаны?

-- Что за куча файлов перед установкой, какой еще кролик, что за подорожник? Ведь есть обычная база данных.

Бывало у вас так? И тогда задумываешься, а почему установка не автоматизирована для Windows. Особенно часто все мучительно и неспешно настраивают кролика и пушат базы данных в Mongo.

Пора представить вам ящерку, которая может это всё, одним залпом. Я назвал решение GodziRX (ну нравится очень Годзилла).

Задачи и цели

  1. Быстрая установка всех необходимых компонентов для запуска системы со средой разработки.
  2. Минимум действий.
  3. Минимальный порог вхождения для пользователя.

Описание и возможности решения

Немного теории. Чтобы запустить систему в зависимости от версии нам нужны следующие компоненты:

  • .Net-SDK
  • NDP48-DevPack
  • NDP48-allos-rus (не обязательный компонент)
  • NDP461-DevPack
  • otpwin64 (erlang)
  • RabbitMQ
  • MongoDB

Теперь приступим к описанию самого мульти-тула.

Для загрузки параметров используется json, в которой прописана вся необходимая стартовая информация, для загрузки в поля утилиты. Также нам никто не мешает взять, к примеру, с прошлой сессии аналогичный файл и переименовать в appsetting.json. Если перед запуском таковой не окажется, утилита сама генерирует json со стандартными значениями и паролями на подобие By1QwertyProtect.

Перед вами главная страница решения. На ней представлены две плитки: настройка и сама Godzi. Маленькие плитки представляют собой сворачивание приложения (зонтик) и выход.


 

Рассмотрим плитку «Settings». Здесь в левом углу нас встречает очень занятой кролик (ну а как вы думали, он чистит отложенные сообщения). На вкладке Rabbit представлены все необходимые поля, которые нам нужны для отправки информации в api кролика. Так же здесь есть валидация вводимых значений и просмотр паролей, при нажатии на щит. Плитка домик возвращает нас на главную страницу.

Кнопка Update - это самостоятельная фича, которая дает нам возможность даже на настроенном сервере создавать пользователей и хост. Кнопка Check проверяет доступность ресурса. Вывод информации о доступности выводится в лог и toast сообщения на экране рабочего стола. Данная фича так же предназначена для настройки удаленного хоста, вдруг у вас сервер кролика где-то далеко.


 

Вкладка Mongo аналогична по наполнению и функционалу.


 

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


 

На данной странице представлены два режима и в левом углу у нас не просто так затесался кальмар. Представлены два режима Auto (Kraken) и Manual (Godzi).

О каждом режиме по порядку

Режим Kraken имеет три поля, чек-бокс и два комбобокса. Жмем чек-бокс, в первом списке выбираем версию (доступны версии с 4.6 по 4.9), во втором списке выбираем режим.

Full – означает полную установку всех компонентов + rabbit + mongo и также выполняет операции по созданию пользователей и баз данных, которые указаны в Settings. Для Mongo по умолчанию зашил создание стандартных баз, чтоб никто не мучился с cmd/json или постоянным update через годзю.

  • Components – только компоненты, без erlang/кролика/mongoDb.
  • RabbitMQ – сам кролик + erlang + настройка пользователей и хоста.
  • MongoDB – сам mongo + настройка пользователя и стандартных баз данных. Данный режим скачивает все необходимое из интернет-ресурса и ставит сразу на машину.

Режим Godzi подразумевает выбор компонентов, которые вы уже подготовили и складировали в папочку. Единственное что придется сделать руками это ввести команду по запуску плагинов в Shell кролика и два раза нажать update (1 раз в вкладке mongo, и один раз в вкладке rabbit).

Жмем install, смотрим красивую загрузку или идем делать любимый напиток. Дело сделано! По окончанию установки и при Update формируется файл аналогично json, чтобы зафиксировать сессию пользователя, и чтобы никто не забыл куда ввел 1Qwerty. Спасибо за внимание.

Результаты

Пока решение находится в тестовой эксплуатации, по показателям могу сказать только, что компоненты теперь устанавливаются от 5 до 7 минут, согласно лог-файлам.

Перспективы развития решения

Не зря в самом начале назвал это решение мульти-тул, так как планируется, что это будет общим сборником для решения компании РосА.

Состав команды проекта

Автор идеи и реализация - ведущий прикладной разработчик компании «РосА» Кугушев А.А.

 

Пока комментариев нет.
Авторизуйтесь, чтобы написать комментарий

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Directum Awards 2024
Какой проект лучше?
Авторизуйтесь, чтобы оценить материал.
Авторизуйтесь, чтобы оценить материал.
Directum Awards 2024
Спасибо за активность!
Ваш голос принят