Saltar al contenido principal

Módulos personalizados

Puedes desplegar tu módulo con tu funcionalidad utilizando la API del desarrollador.

Desarrollo

Utiliza la plantilla https://github.com/OneEntry/module-example y sigue las instrucciones en https://github.com/OneEntry/custom-module-deployment-guide durante el desarrollo.

Compilación

  • Crea un nuevo token de proyecto con permisos read-registry. Se recomienda crear un token de duración indefinida.
  • Crea una nueva etiqueta en git (con cada lanzamiento de una nueva versión del módulo).
  • Espera a que finalice el pipeline, después de lo cual la imagen docker del módulo se cargará en el registro y estará disponible para el despliegue.

Despliegue

Ve a la configuración, pestaña Modules, y desplázate hacia abajo hasta la tarjeta Create New Module.

  • Indica el nombre (Name) y el marcador (Marker) del módulo.

  • En el bloque Docker image, en el campo Image URL, indica la ruta a la imagen docker previamente compilada en el formato host/user/repo:version.

    Donde host es el nombre del host del registro docker, por ejemplo registry.gitlab.com,

    user es el id del usuario o de la organización, por ejemplo oneentry,

    repo es el nombre del repositorio, por ejemplo my-module

    version es el nombre de la etiqueta (versión del módulo).

    Un ejemplo completo: registry.gitlab.com/oneentry/my-module:v1.0.0

  • En el campo Registry host, indica el host del registro docker, que repite la parte host de la ruta a la imagen docker, por ejemplo registry.gitlab.com.

  • En los campos Token ID y Token, indica el nombre del token (especificado al crearlo) y el propio token (que generalmente comienza con glpat), respectivamente.

  • En el bloque Environment Variables, haz clic en Add y especifica las variables de entorno requeridas para el funcionamiento del módulo (se pueden cambiar más tarde).

Haz clic en Create.

Después de crear el módulo, aparecerá en la tabla. Ahora puedes desplegarlo haciendo clic en Deploy (esto tomará un tiempo).

Estados del contenedor

  • Not deployed — el módulo ha sido creado, pero aún no ha sido desplegado.
  • Deploying — el módulo está en proceso de despliegue.
  • Running — el módulo está en funcionamiento.
  • Suspended — el módulo ha sido desplegado, pero no está en ejecución.
  • Error — la última acción con el módulo terminó con un error, consulta la sección «Depuración de errores».

Mientras se realiza una acción con el módulo, en la columna de estado se muestra su progreso: Deploying, Suspending, Resuming o Deleting. El estado que no se pudo obtener se muestra como Unknown. Los estados se actualizan automáticamente.

Acciones con el módulo

  • Suspend Suspender el módulo. Detiene el proceso, pero los datos permanecen.
  • Resume Reanudar el funcionamiento del módulo. Inicia el proceso.
  • Delete Eliminar el módulo. Detendrá el proceso, eliminará el contenedor y los datos asociados.

Depuración de errores

Si no se pudo desplegar el módulo o el proceso se detiene sistemáticamente, el módulo recibirá el estado Error, y en la línea aparecerá un ícono Warn con el mensaje «La última acción con este módulo fue fallida». Un módulo en estado Error, al igual que uno no desplegado, tendrá nuevamente disponible el botón de despliegue Deploy: corrige la causa y despliega el módulo nuevamente.

Problemas posibles

  • La imagen docker está mal configurada.
  • Token inválido o incorrecto.
  • El proceso se detiene. El proceso interno no debe detenerse mientras el módulo esté activo.

Registro

Otros problemas con el módulo se pueden depurar utilizando los registros que se muestran en la configuración del módulo.

Actualización/edición del módulo

Si es necesario desplegar una nueva versión del módulo o cambiar las variables de entorno, debes actualizar la etiqueta y/o las variables en la configuración. El proceso se reiniciará.