How it works…
We generate a clean directory structure with clearly labeled directories and dedicated roles. We are using different directories to store the following:
- The code maintained by other people (in
src/
) - The local-specific code
filestore
of the instance
By having one virtualenv
environment per project, we are sure that the project's dependencies will not interfere with the dependencies of other projects that may be running a different version of Odoo or will use different third-party add-on modules, which require different versions of Python dependencies. This comes at the cost of a little disk space.
In a similar way, by using separate clones of Odoo and third-party add-on modules for our different projects, we are able to let each of these evolve independently and only install updates on the instances that need them, hence reducing the risk of introducing regressions.
The bin/odoo
script allows us to run the server without having...