Documentation › Get started

Getting started

What a project is, how branches become environments, and what happens when you push.

What a project is

A project is one Odoo: usually one company's ERP. It is linked to a GitHub repository that holds your custom modules, and it has an Odoo version (Community or Enterprise). Production is served at https://<project>.cloud.knovadigital.com . Projects are created by a platform administrator with New project ; everyone else is added to a project as a collaborator.

Branches and stages

Every branch of the repository becomes an environment with its own URL ( <project>-<branch>.cloud.knovadigital.com ), database, logs, shell and editor. Each branch sits in one of three stages, which decide what its database contains:

Development A fresh database with demo data on every build. Your modules are installed and their tests run. Red when tests fail, but still up so you can look.

Staging A neutralized copy of production: real data, with emails caught and scheduled actions off. Test here before you ship.

Production Your live database, kept for good. One production branch per project. It is backed up every day.

New branches you push to GitHub appear as development branches. Promote a branch by dragging it to another stage: see Moving branches between stages .

How a push builds

You push a commit to GitHub The project's webhook (installed when the project was created) tells Odoo Cloud about it.

A build is queued A branch that doesn't exist yet on Odoo Cloud is added as a development branch first. A newer push replaces a build that is still waiting.

The code is packaged Your repository is checked out on the Odoo version of the project, and the requirements.txt files are installed with pip.

The database is prepared Following the stage: a new database (development), a neutralized copy of production (staging), or an update of the live database (production).

Odoo starts The branch's URL now serves the new build. Its dot in the branch list turns green (success), yellow (warnings in the log) or red (failed).

Branch missing from the list? Click the refresh button at the top of the Branches list ( Fetch branches from GitHub ). If pushes never start a build, ask a project admin to check Settings → GitHub webhook .