Пользовательские модули
Вы можете развернуть свой модуль со своей функциональностью используя 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) требуемые для работы модуля (можно изменить позже)
После создания модуля, он появится в таблице. Теперь вы можете развернуть его нажав (это займёт некоторое время).
Статусы контейнера
- Не развёрнут - Модуль создан, но ещё ни разу не был развёрнут
- Разворачивается - Модуль находится в процессе разворачивания
- Запущен - Модуль работает
- Приостановлен - Модуль развёрнут, но не запущен
Действия с модулем
Приостановить модуль. Останавливает процесс, но данные остаются
Возобновить работу модуля. Запускает процесс
Удалить модуль. Остановит процесс, удалит контейнер и связанные с ним данные
Отладка ошибок
Если модуль не удалось ра звернуть или процесс систематически завершается, вы увидите .
Возможные проблемы
- Неправильно настроен docker образ
- Недействующий или некорректный токен
- Процесс завершается. Внутренний процесс не должен завершаться пока модуль активен
Логгирование
Другие проблемы с модулем вы можете отладить с помощью логов, отображающихся в настройках модуля
Обновление/редактирование модуля
Если необходимо развернуть новую версию модуля или изменить переменные окружения, вы должны обновить тег и/или переменные в настройках. Процесс будет перезапущен.