Перейти к основному содержимому

Пользовательские модули

Вы можете развернуть свой модуль со своей функциональностью используя API разработчика.

Разработка

Используйте шаблон https://github.com/OneEntry/module-example и следуйте инструкциям в https://github.com/OneEntry/custom-module-deployment-guide при разработке.

Сборка

  • Создайте новый токен проекта с правами read-registry. Рекомендуется создать бессрочный токен.
  • Создайте новый тег в git (при каждом выпуске новой версии модуля)
  • Дождитесь завершения pipeline, после чего docker образ модуля будет загружен в registry и доступен для развёртывания

Развёртывание

Перейдите в настройки, раздел "Модули" и пролистайте вниз, чтобы перейти к форме добавления модуля.

  • Укажите имя и маркер модуля

  • В поле Url образа укажите путь к ранее собранному docker образу в формате host/user/repo:version.

    Где host - имя хоста docker registry, например registry.gitlab.com,

    user - id пользователя или организации, например oneentry,

    repo - имя репозитория, например my-module

    version - имя тега (версия модуля)

    Полный пример: registry.gitlab.com/oneentry-skd-js/test-module:prod-v1.0.10

  • В поле Docker хост укажите хост docker registry, он повторяет часть host в пути к docker образу, например registry.gitlab.com

  • В поля Id токена и Токен укажите название токена (указанное при создании) и сам токен (обычно начинается с glpat) соответственно

  • Укажите необходимые переменные окружения (env) требуемые для работы модуля (можно изменить позже)

После создания модуля, он появится в таблице. Теперь вы можете развернуть его нажав Deploy (это займёт некоторое время).

Статусы контейнера

  • Не развёрнут - Модуль создан, но ещё ни разу не был развёрнут
  • Разворачивается - Модуль находится в процессе разворачивания
  • Запущен - Модуль работает
  • Приостановлен - Модуль развёрнут, но не запущен

Действия с модулем

  • Suspend Приостановить модуль. Останавливает процесс, но данные остаются
  • Resume Возобновить работу модуля. Запускает процесс
  • Delete Удалить модуль. Остановит процесс, удалит контейнер и связанные с ним данные

Отладка ошибок

Если модуль не удалось развернуть или процесс систематически завершается, вы увидите Warn.

Возможные проблемы

  • Неправильно настроен docker образ
  • Недействующий или некорректный токен
  • Процесс завершается. Внутренний процесс не должен завершаться пока модуль активен

Логгирование

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

Обновление/редактирование модуля

Если необходимо развернуть новую версию модуля или изменить переменные окружения, вы должны обновить тег и/или переменные в настройках. Процесс будет перезапущен.