|
|
## Script desplegament Python 3 i virtualenv
|
|
|
|
|
|
El nou script de desplegament de projectes Odoo a partir de la versió 11 hauria de contemplar la següent funcionalitat:
|
|
|
|
|
|
* En una màquina seguiran havent-hi més d'una instància, idealment dues: producció i test.
|
|
|
* Viabilitat técnica i comercial d'oferir per a cada màquina una IP fixa i que el proxy Apache o Nginx estigui a la mateixa màquina, per tal de, a partir d'una configuració estàndar, poder oferir una personalització més gran, tant de timeouts com d'ubicacions estàtiques per accelerar la tramesa de fitxers estàtics. Punts a considerar:
|
|
|
* Qui gestiona la subzona DNS de la IP
|
|
|
* Certificats digitals (un per a cada client, a incloure en el paquet comercial del hosting, o un de genèric, si és possible)
|
|
|
* L'estructura bàsica de directoris, usuaris, PostgreSQL, permisos, scripts d'arrancada, poden ser molt similars als actuals implementats amb Ansible, excepte:
|
|
|
* Per a cada instància, cal desplegar un entorn virtual Python amb Python 3 (versió 3.5 o superior, estàndard a Ubuntu 16.04LTS)
|
|
|
* Cal modificar l'script d'arrancada de l'Odoo, tenint en compte les ubicacions dels nous executables (python i odoo)
|
|
|
* Es proposa que el directori de cada instància contingui tant l'entorn virtual com els mòduls de l'Odoo. Per exemple, en una estructura
|
|
|
|
|
|
``` bash
|
|
|
# Mateix directori
|
|
|
/opt/odoo/instancia1# virtualenv -p python3 .
|
|
|
# Activem l'entorn virtual
|
|
|
/opt/odoo/instancia1# source bin/activate
|
|
|
# Instal·lem mòduls Odoo, inclòs el mateix Odoo, i els mòduls OCA
|
|
|
/opt/odoo/instancia1# pip install -r requirements .txt
|
|
|
```
|
|
|
|
|
|
Segons aquest esquema, tant l'executable `python` com el servidor `odoo` són al directori `/opt/odoo/instancia1/bin`.
|
|
|
|
|
|
## *Patch* temporal
|
|
|
|
|
|
Quan es demana a Sistemes una màquina per a un client, la màquina inclou una imatge de sistema operatiu (Ubuntu 16.04, per exemple), usuaris i grups de sistema, llibreries bàsiques de Python i una sèrie d'scripts per arrancar i aturar instàncies, a `/etc/init.d/openerp-server-instanciaX`.
|
|
|
|
|
|
Aquests scripts assumeixen que les instàncies s'instal·len als directoris `/opt/openerp/instanciaX`, i que en aquests mateixos directoris hi ha l'executable del servidor openerp.
|
... | ... | |