Autodeploy

Procedura per aggiornamento Repo e Moduli Odoo

Le istruzioni per clonare un progetto odoo e farlo funzionare con docker-compose sono qui:

per odoo base-10, base-11 e base-12

https://git.webmonks.org/odoo/odoo-docker-compose-recipe/-/blob/base-10/README.md

per odoo base-13

https://git.webmonks.org/odoo/odoo-docker-compose-recipe/-/blob/base-13/README.md

premessa: il .gitmodules non và mai editato a mano! viene popolato attraverso i comandi git (a meno che si vuole specificare il branch di un modulo oca) ma il branch lo si può benissimo cambiare dal modulo con git checkout! bene, iniziamo!

Clone di un progetto odoo

Se non abbiamo il progetto in locale e vogliamo clonarlo, ad esempio ppoomm:

git clone https://git.webmonks.org/odoo/odoo-docker-compose-recipe.git ppoomm

cd ppoomm

git checkout ppoomm

git pull

git submodule init

git submodule update

Aggiornamento di un modulo

Ora vogliamo aggiornare un modulo. Partendo dalla repo padre:

~/Sviluppo/odoo/ppoomm $

andare su addons/sources e sul modulo desiderato:

~/Sviluppo/odoo/ppoomm/addons/sources/ppoomm $

accertarsi di puntare al branch corretto (di solito master) -> git branch

aggiornare le modifiche -> git pull

Tornare alla repo padre:

~/Sviluppo/odoo/ppoomm $

accertarsi di essere sul branch giusto (in questo caso ppoomm) -> git branch

accertarsi che abbia preso le modifiche -> git status

~/Sviluppo/odoo/ppoomm $ git status
    On branch ppoomm
    Your branch is up-to-date with 'origin/ppoomm'.
        Changes not staged for commit:
        (use "git add <file>..." to update what will be committed)
        (use "git checkout -- <file>..." to discard changes in working directory)
        (commit or discard the untracked or modified content in submodules)
        modified:   addons/sources/ppoomm (untracked content)
        no changes added to commit (use "git add" and/or "git commit -a")

Aggiungere la modifica corrente -> git add addons/sources/ppoomm

committare la modifica -> git commit -m “update ppoomm submodule”

pushare la modifica -> git push

Aggiungere un modulo interno Monk

Vogliamo aggiungere il sottomodulo ppoomm all’interno del progetto ppoomm

nella repo padre:

~/Sviluppo/odoo/ppoomm $

bisogna lanciare il comando:

~/Sviluppo/odoo/ppoomm $ git submodule add ../ppoomm addons/sources/ppoomm

premessa: ../ significa che sta partendo dalla directory odoo principale presente nel nostro gitlab

ora bisognare andare in sources/addons, a questo punto è necessario creare un link simbolico

~/Sviluppo/odoo/ppoomm/addons/enables $ ln -s ../sources/ppoomm

tornare alla repo padre, fare git status e troverai i file da aggiungere che sono:

.gitmodules

addons/sources/ppoomm (questi due li aggiunge gia in automatico, quindi li vedrai di colore verde)

addons/enables/ppoomm

committare e pushare!

Aggiungere un modulo OCA

il procedimento è uguale al precedente solo che bisogna fare cosi:

git submodule add https://github.com/OCA/partner-contact.git addons/sources/partner-contact

linkare sempre il sottomodulo che ci interessa, tornare nella repo padre, committare e pushare!

Fare un tag per la prod

andare qui:

https://git.webmonks.org/odoo/odoo-docker-compose-recipe/-/tags/new

scegliere il branch desiderato e taggare con:

r.nome-odoo.numero

Autodeploy

A questo punto vi ritroverete a dover fare il deploy! Bisogna andare qui:

https://git.webmonks.org/odoo/odoo-docker-compose-recipe/pipelines

prima pigiare il bottone a sinistra per buildare l’immagine, una volta finito, procedere con il deploy (bottone a destra)