[IMP] odoo.sh: update builds page

closes odoo/documentation#15448

X-original-commit: ca2ac4a61d
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
This commit is contained in:
xpl-odoo
2025-11-24 10:08:09 +00:00
parent f05ba25c11
commit e63b9a2fff
9 changed files with 88 additions and 75 deletions

View File

@@ -1,124 +1,137 @@
.. _odoosh-gettingstarted-builds:
======
Builds
======
In Odoo.sh, a build is a database loaded by an Odoo server (`odoo/odoo
<https://github.com/odoo/odoo>`_ and `odoo/enterprise <https://github.com/odoo/enterprise>`_)
running on a specific revision of your project repository in a containerized environment. Its
purpose is to test the proper behavior of the server, the database, and the features associated with
that revision.
.. _odoo-sh/builds/overview:
Overview
========
In Odoo.sh, a build is considered as a database loaded by an Odoo server
(`odoo/odoo <https://github.com/odoo/odoo>`_ & `odoo/enterprise
<https://github.com/odoo/enterprise>`_) running on a specific revision of your project repository in
a containerized environment. Its purpose is to test the well-behavior of the server, the database
and the features with this revision.
.. image:: builds/builds-overview.png
:alt: Overiew of the builds
.. image:: builds/interface-builds.png
:align: center
In the :guilabel:`Builds` overview, a row represents a branch, and a cell within that row represents
a build of that branch.
In this view, a row represents a branch, and a cell of a row represents a build of this branch.
Most builds are created after pushes to your GitHub repository branches. They can also be created
through other operations, such as importing a database on Odoo.sh or requesting a rebuild for a
branch in your project.
Most of the time, builds are created following pushes on your Github repository branches.
They can be created as well when you do other operations,
such as importing a database on Odoo.sh or asking a rebuild for a branch in your project.
Builds can have three possible statuses:
A build is considered successful if no errors or warnings come up during its creation.
A successful build is highlighted in green.
A build is considered failed if errors come up during its creation.
A failed build is highlighted in red.
If warnings come up during the creation, but there are no errors, the build is considered almost
successful. It is highlighted in yellow to notify the developer warnings were raised.
- A build is considered **successful** if no errors or warnings occur during its creation.
Successful builds are highlighted in **green**.
- A build is considered **almost successful** if warnings occur, but there are no errors. Almost
successful builds are highlighted in **yellow**.
- A build is considered **failed** if errors occur during its creation. Failed builds are
highlighted in **red**.
.. note::
Builds do not always create a database from scratch. For instance, when pushing a change on the
production branch, the build created just starts the server with your new revision and tries to load
the current production database on it. If no errors come up, the build is considered successful, and
otherwise failed.
production branch, the created build starts the server with your new revision and tries to load
the current production database on it.
.. _odoo-sh/builds/stages:
Stages
======
.. _odoo-sh/builds/stages/production:
Production
----------
The first build of a production branch creates a database from scratch.
If this build is successful, this database is considered as the production database of your project.
The first build of a production branch creates a database from scratch. If this build is successful,
this database will become the production database of your project.
From then, pushes on the production branch will create new builds that attempt to load the database
using a server running with the new revision.
From then on, pushes to the production branch will create new builds that attempt to load the
database using a server running the new revision.
If the build is successful, or has warnings but no errors, the production database will now run with
this build, along with the revision associated to this build.
If the build is successful or almost successful, the production database will run with this build
and its associated revision.
If the build fails to load or update the database, then the previous successful build is re-used to
load the database, and therefore the database will run using a server running with the previous
successful revision.
If the build fails to load or update the database, the previous successful build is reused to load
the database. In that case, the database continues to run using the previous successful revision.
The build used to run the production database is always the first of the builds list. If a build
fails, it is put after the build currently running the production database.
.. note::
The build used to run the production database is always the first in the builds list. If a build
fails, it is placed after the build currently running the production database.
.. _odoo-sh/builds/stages/staging:
Staging
-------
Staging builds duplicate the production database,
and try to load this duplicate with the revisions of the staging branches.
Staging builds duplicate the production database and attempt to load this copy using the revisions
of the staging branches.
Each time you push a new revision on a staging branch, the build created uses a new copy of the
production database. The databases are not re-used between builds of the same branch. This ensures:
Each time you push a new revision to a staging branch, the resulting build uses a fresh copy of the
production database. Databases are not reused between builds of the same branch. This ensures that:
* staging builds use databases that are close to what the production looks like, so you do not make
your tests with outdated data,
- Staging builds use databases that closely match the current production state, so your tests are
not performed on outdated data.
- You can freely experiment within a staging database. When you want to start over with a new copy
of the production database, you can request a rebuild.
* you can play around as much as you want in the same staging database, and you can then ask for a
rebuild when you want to restart with a new copy of the production.
However, this also means that if you make configuration changes in a staging database and do not
apply them in production, those changes will not be present in the next build of the same staging
branch.
Nevertheless, this means that if you make configuration changes in staging databases and do not
apply them in the production, they will not be passed on the next build of the same staging branch.
.. _odoo-sh/builds/stages/development:
Development
-----------
Development builds create new databases, load the demo data and run the unit tests.
Development builds create new databases, load the demo data, and run the unit tests.
A build will be considered failed and highlighted in red if tests fail during the installation,
as they are meant to raise errors if something wrong occurs.
A build will be considered failed if tests fail during installation, as they are designed to raise
errors when something is wrong.
If all tests pass, and there is no error, the build will be considered successful.
If all tests pass and no errors occur, the build is considered successful.
According to the list of modules to install and test, a development build can take up to 1 hour to
be ready. This is due to the large number of tests set in the default Odoo modules suite.
.. note::
Depending on the list of modules to install and test, a development build can take up to one hour
to be ready. This is due to the large number of tests included in the default Odoo module suite.
.. _odoo-sh/builds/stages/features:
Features
========
The production branch will always appear first, and then the other branches are ordered by last
build created. You can filter out the branches.
The production branch always appears first. Other branches are ordered by the time of their last
created build. The stage highlighted in purple corresponds to the stage selected in the
:guilabel:`Branches` menu.
.. image:: builds/interface-builds-branches.png
:align: center
.. tip::
You can filter branches using the search bar.
For each branch, you can access the last build's database using the *Connect* link and jump to the
branch code using the *Github* link. For other branches than the production, you can create a new
build which will use the latest revision of the branch using the link *rebuild*. This last link is
not available when there is already a build in progress for the branch.
.. image:: builds/branches-menu.png
:alt: The branches menu
.. image:: builds/interface-builds-build.png
:align: center
For each branch, you can:
For each build, you can access the revision changes using the button with the Github icon. You can
access the build's database as the administrator using the *Connect* button. Also, you can access
the database with another user using the *Connect as* button, in the dropdown menu of the *Connect*
button.
- Access the latest build's database by clicking :guilabel:`Connect`.
- Jump to the branch's code by clicking :guilabel:`Github`.
- Create a new build by clicking :guilabel:`Rebuild`. It uses the latest revision of the branch (it
is not available if a build is already in progress for that branch).
.. _odoosh-gettingstarted-builds-download-dump:
For each build, you can:
.. image:: builds/interface-builds-build-dropdown.png
:align: center
- View the revision changes by clicking the :icon:`fa-github` (:guilabel:`GitHub`) icon.
- Access the build's database as the administrator by clicking :guilabel:`Connect` or as another
user by clicking the :icon:`fa-caret-down` (:guilabel:`More Actions`) button next to
:guilabel:`Connect` and selecting :guilabel:`Connect as`.
- Access the same tools as in the branches view by clicking the :icon:`fa-caret-down`
(:guilabel:`More Actions`) button next to :guilabel:`Connect` and selecting :guilabel:`Logs`,
:guilabel:`Web Shell`, :guilabel:`Editor`, :guilabel:`Outgoing e-mails` (for the staging and
development stages), :guilabel:`Monitoring`, and :guilabel:`Download DB dump` (for the production
and staging stages).
.. _odoosh-gettingstarted-builds-dropdown-menu:
In the dropdown menu of the build, you can access the same features than in :ref:`the branches view
<odoo-sh/branches/tabs>`: *Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*. You also
have the possibility to *Download a dump* of the build's database.
.. image:: builds/builds-options.png
:alt: A build's options

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -17,7 +17,7 @@ It also gives you the possibility to open terminals, Python consoles, Odoo Shell
You can access the editor of a build through
:ref:`the branches tabs <odoo-sh/branches/tabs>`,
:ref:`the builds dropdown menu <odoosh-gettingstarted-builds-dropdown-menu>`
:ref:`the builds dropdown menu <odoo-sh/builds/stages/features>`
or by adding */odoo-sh/editor* to your build domain name
(e.g. *https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor*).