Saltar al contenido principal

Agregar un módulo personalizado

Este tutorial te muestra cómo añadir un módulo de Odoo personalizado a tu despliegue de Skysize. Hay dos enfoques según si el módulo se encuentra en un repositorio separado o directamente en tu repositorio de proyecto.

Tiempo estimado: ~15 minutos

Lo que necesitas:

  • Un proyecto ya desplegado en Skysize (Desplegar tu primera instancia)
  • Un módulo de Odoo personalizado (tu propio código o un módulo comunitario de OCA)

Cómo funcionan los módulos personalizados en Skysize

Skysize analiza la raíz de tu repositorio en busca de módulos de Odoo por defecto. Si tu módulo está en la raíz, será detectado automáticamente sin configuración adicional.

Si tus módulos están en un subdirectorio o en un repositorio separado, debes configurar la Ruta de módulos en tu rama para indicar a Skysize dónde buscarlos.

nota

Los módulos personalizados están disponibles en el servidor pero no se instalan automáticamente. Después del despliegue, debes instalarlos desde el menú Aplicaciones de Odoo.


Opción A — Módulo en tu propio repositorio

Usa este enfoque cuando tu módulo personalizado está almacenado directamente en tu repositorio de proyecto.

1. Añadir tu módulo al repositorio

La estructura más sencilla es colocar tu módulo en la raíz del repositorio:

mi-repo-odoo/
├── mi_modulo/
│ ├── __manifest__.py
│ └── ...
└── ...

Con esta estructura, no se necesita ninguna configuración adicional — Skysize encontrará mi_modulo automáticamente. Haz commit y push, luego pasa directamente a Instalar el módulo en Odoo.

Si prefieres organizar los módulos en un subdirectorio:

mi-repo-odoo/
├── custom_addons/
│ └── mi_modulo/
│ ├── __manifest__.py
│ └── ...
└── ...

Entonces necesitas configurar la ruta de módulos como se describe en el siguiente paso.

2. Configurar la ruta de módulos (solo para subdirectorios)

  1. Ve a tu proyecto y abre la pestaña Ramas.

  2. Haz clic en tu rama para abrir su configuración.

  3. Encuentra el campo Ruta de módulos.

  4. Introduce la ruta al directorio que contiene tus módulos. Las rutas deben comenzar con / y son relativas a la raíz de tu repositorio:

    /custom_addons

    Para módulos distribuidos en múltiples directorios, sepáralos con comas:

    /custom_addons,/extra_addons
  5. Haz clic en Guardar y haz push de un commit para activar un nuevo despliegue.

Instalar el módulo en Odoo

  1. Abre tu instancia de Odoo.
  2. Ve a Configuración → Aplicaciones (activa el modo desarrollador si la aplicación no es visible: Configuración → Activar el modo de desarrollador).
  3. Busca tu módulo y haz clic en Instalar.

Opción B — Módulo en un repositorio separado (submódulo Git)

Usa este enfoque cuando tu módulo personalizado vive en su propio repositorio — por ejemplo, un módulo comunitario de OCA o un módulo interno compartido entre múltiples proyectos.

atención

Skysize solo admite repositorios de submódulos públicos. Los repositorios privados no están soportados actualmente.

1. Añadir el submódulo mediante el terminal

En tu clon local del repositorio de proyecto, ejecuta:

git submodule add https://github.com/OCA/web.git addons/oca_web
git add .gitmodules addons/oca_web
git commit -m "Añadir submódulo OCA web"
git push

Esto añade el repositorio externo como subdirectorio en addons/oca_web. Skysize inicializa automáticamente todos los submódulos en cada despliegue.

2. Añadir el submódulo mediante la interfaz web de GitHub

Si no tienes acceso a un terminal, puedes crear la configuración del submódulo manualmente:

  1. En tu repositorio en GitHub, haz clic en Add file → Create new file.

  2. Nombra el archivo .gitmodules.

  3. Añade el siguiente contenido adaptando la ruta y la URL:

    [submodule "addons/oca_web"]
    path = addons/oca_web
    url = https://github.com/OCA/web.git
  4. Haz commit del archivo.

  5. Crea el marcador de directorio: haz clic en Add file → Create new file y nombra el archivo addons/oca_web/.gitkeep, luego haz commit.

nota

La interfaz web de GitHub tiene soporte limitado para submódulos. Para cualquier configuración más allá de un submódulo simple, se recomienda encarecidamente usar el terminal.

3. Configurar la ruta de módulos en Skysize

Como el submódulo está en un subdirectorio, necesitas configurar la ruta de módulos:

  1. Ve a tu proyecto y abre la pestaña Ramas.

  2. Haz clic en tu rama para abrir su configuración.

  3. En el campo Ruta de módulos, introduce la ruta al directorio del submódulo:

    /addons/oca_web
  4. Haz clic en Guardar.

4. Redesplegar e instalar

Haz push de un commit para activar un nuevo despliegue. Skysize inicializará el submódulo durante el build, haciendo el módulo disponible. Luego instálalo desde el menú Aplicaciones de Odoo como se describe arriba.


Resolución de problemas

El módulo no aparece en el menú Aplicaciones

  • Asegúrate de que el modo desarrollador está activado en Odoo (Configuración → Activar el modo de desarrollador).
  • Si tu módulo está en un subdirectorio, verifica que la Ruta de módulos está configurada y corresponde a la estructura real de tu repositorio (las rutas distinguen entre mayúsculas y minúsculas).
  • Revisa los logs de despliegue para detectar errores relacionados con la carga de módulos.

El directorio del submódulo está vacío después del despliegue

  • Confirma que la URL del repositorio del submódulo es accesible públicamente sin autenticación.
  • Verifica que el archivo .gitmodules está en el commit y que la ruta del submódulo es correcta.