Inclure un dépôt externe (sous-modules)
Vous souhaiterez peut-être inclure des modules d'un autre dépôt, comme un module communautaire OCA ou une bibliothèque partagée, dans votre déploiement Skysize. Skysize prend en charge les sous-modules Git publics et les initialise pour vous à chaque déploiement.
Les sous-modules doivent être publics et accessibles via HTTPS, car Skysize les clone de manière anonyme au moment du build. Les sous-modules privés ne peuvent pas être récupérés et leurs dossiers seront vides, pour ceux-là, intégrez plutôt le code directement dans votre dépôt (voir ci-dessous).
Ajouter un sous-module public
Depuis un clone local de votre dépôt, ajoutez le sous-module et poussez :
# 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
Lors du prochain déploiement, Skysize initialise automatiquement le sous-module, de sorte que les modules qu'il contient sont présents dans le checkout déployé.
Ajoutez le sous-module depuis la ligne de commande (git submodule add). Les éditeurs web de GitHub/GitLab ne peuvent pas créer de sous-module valide, modifier .gitmodules à la main dans le navigateur n'enregistre pas le lien du sous-module.
Rendre les modules détectables
Skysize analyse votre dépôt sur un niveau de profondeur pour trouver les modules Odoo (chaque sous-répertoire direct contenant un __manifest__.py). Si votre sous-module place les modules plus profondément, indiquez à Odoo le répertoire du sous-module à l'aide du champ Chemin des addons personnalisés, consultez Organiser les modules dans des répertoires imbriqués.
Alternative : intégrer le code (pour le code privé)
Si le code externe est privé, ou si vous préférez simplement ne pas dépendre d'un sous-module, copiez les modules directement dans votre propre dépôt afin qu'ils fassent partie du clone 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
Comme les modules sont désormais committés dans votre dépôt, ils sont présents dans chaque déploiement sans configuration supplémentaire. Pour les mettre à jour, répétez la copie, le commit et le push.
Installer le module dans Odoo
Les modules rendus disponibles par un sous-module ou par du code intégré ne sont pas installés automatiquement.
- Ouvrez votre instance Odoo.
- Activez le mode développeur : Settings → Activate the developer mode.
- Allez dans Apps, cliquez sur Update Apps List, puis recherchez votre module et cliquez sur Install.