Saltar al contenido principal

Incluir un repositorio externo (submódulos)

Es posible que quieras incluir módulos de otro repositorio, como un módulo de la comunidad OCA o una librería compartida, en tu despliegue de Skysize. Skysize admite submódulos de Git públicos y los inicializa por ti en cada despliegue.

nota

Los submódulos deben ser públicos y accesibles a través de HTTPS, porque Skysize los clona de forma anónima en el momento de la construcción. Los submódulos privados no se pueden obtener y sus carpetas quedarán vacías, para esos casos, incorpora el código directamente en tu repositorio (ver más abajo).


Agregar un submódulo público

Desde un clon local de tu repositorio, agrega el submódulo y haz push:

# Add a public repository as a submodule
git submodule add https://github.com/OCA/web.git external/oca-web
git commit -m "Add OCA web submodule"
git push

En el siguiente despliegue, Skysize inicializa el submódulo automáticamente, por lo que los módulos que contiene estarán presentes en el checkout desplegado.

sugerencia

Agrega el submódulo desde la línea de comandos (git submodule add). Los editores web de GitHub/GitLab no pueden crear un submódulo válido, editar .gitmodules a mano en el navegador no registra el enlace del submódulo.

Hacer que los módulos sean detectables

Skysize escanea tu repositorio un nivel de profundidad en busca de módulos de Odoo (cada subdirectorio inmediato que contiene un __manifest__.py). Si tu submódulo coloca los módulos más profundamente que eso, apunta Odoo al directorio del submódulo usando el campo Ruta de addons personalizados, consulta Organizar módulos en directorios anidados.


Alternativa: incorporar el código (para código privado)

Si el código externo es privado, o simplemente prefieres no depender de un submódulo, copia los módulos directamente en tu propio repositorio para que formen parte del clon normal:

git clone --depth=1 https://github.com/OCA/web.git /tmp/oca-web
cp -r /tmp/oca-web/web_responsive ./web_responsive
cp -r /tmp/oca-web/web_no_bin_size ./web_no_bin_size

git add web_responsive web_no_bin_size
git commit -m "Vendor OCA web modules"
git push

Como los módulos ahora están confirmados en tu repositorio, están presentes en cada despliegue sin configuración adicional. Para actualizarlos, repite la copia, el commit y el push.


Instalar el módulo en Odoo

Los módulos puestos a disposición por un submódulo o por código incorporado no se instalan automáticamente.

  1. Abre tu instancia de Odoo.
  2. Activa el modo desarrollador: Settings → Activate the developer mode (Ajustes → Activar el modo desarrollador).
  3. Ve a Apps, haz clic en Update Apps List (Actualizar lista de aplicaciones), luego busca tu módulo y haz clic en Install (Instalar).