容器构建

概述

在 Odoo.sh 中,构建被视为由 Odoo 服务器(odoo/odooodoo/enterprise)加载的数据库,该服务器在容器化环境中的项目存储库的特定版本上运行。其目的是使用此修订版测试服务器、数据库和功能的良好行为。

../../../_images/interface-builds.png

在此视图中,一行表示一个分支,一行的单元格表示此分支的生成。

大多数情况下,构建是在 Github 存储库分支上的推送之后创建的。当您执行其他操作(例如在 Odoo.sh 上导入数据库或请求重建项目中的分支)时,也可以创建它们。

如果在创建过程中未出现任何错误或警告,则认为生成成功。成功的构建以绿色突出显示。

如果在创建过程中出现错误,则认为生成失败。失败的生成以红色突出显示。

如果在创建过程中出现警告,但没有错误,则认为生成几乎成功。它以黄色突出显示,以通知开发人员警告已引发。

生成并不总是从头开始创建数据库。例如,在生产分支上推送更改时,创建的生成仅使用新修订版本启动服务器,并尝试在其上加载当前的生产数据库。如果未出现错误,则认为生成成功,否则将失败。

阶段

生产

生产分支的第一个生成从头开始创建数据库。如果此生成成功,则将此数据库视为项目的生产数据库。

从那时起,对生产分支的推送将创建新的生成,这些生成尝试使用与新版本一起运行的服务器加载数据库。

如果生成成功,或者有警告但没有错误,则生产数据库现在将与此生成一起运行,以及与此生成关联的修订版。

如果生成无法加载或更新数据库,则会重新使用以前成功的生成来加载数据库,因此数据库将使用运行上一个成功修订版的服务器运行。

用于运行生产数据库的生成始终是生成列表的第一个。如果生成失败,则会将其放在当前正在运行生产数据库的生成之后。

暂存

暂存生成复制生产数据库,并尝试使用暂存分支的修订加载此副本。

每次在暂存分支上推送新修订版本时,创建的生成都会使用生产数据库的新副本。数据库不会在同一分支的生成之间重复使用。这可确保:

  • 暂存构建使用与生产环境接近的数据库,因此您不会使用过时的数据进行测试。

  • 您可以在同一临时数据库中随心所欲地玩,然后,当您想要使用生产的新副本重新启动时,可以要求重建。

但是,这意味着,如果在临时数据库中进行了配置更改,并且未在生产中应用这些更改,则这些更改将不会在同一暂存分支的下一次生成中传递。

开发

开发构建创建新数据库,加载演示数据并运行单元测试。

如果测试在安装过程中失败,则生成将被视为失败并以红色突出显示,因为它们意味着如果发生错误,则会引发错误。

如果所有测试都通过,并且没有错误,则生成将被视为成功。

根据要安装和测试的模块列表,开发版本最多可能需要 1 小时才能准备就绪。这是由于在默认的Odoo模块套件中设置了大量测试。

功能

生产分支将始终首先显示,然后按上次创建的生成对其他分支进行排序。您可以过滤掉分支。

../../../_images/interface-builds-branches.png

对于每个分支,您可以使用 Connect 链接访问最后一个构建的数据库,并使用 Github 链接跳转到分支代码。对于生产分支以外的其他分支,您可以创建一个新的构建版本,该构建将使用链接*rebuild*的分支的最新版本。当分支的构建过程中已进行时,最后一个链接不可用。

../../../_images/interface-builds-build.png

对于每个版本,您可以使用带有 Github 图标的按钮访问修订版更改。您可以使用*连接*按钮以管理员身份访问构建的数据库。此外,您还可以使用*连接*按钮下拉菜单中的*连接为*按钮与其他用户一起访问数据库。

../../../_images/interface-builds-build-dropdown.png

在构建的下拉菜单中,您可以访问与 :ref:’分支视图 ‘相同的功能 <odoosh-gettingstarted-branches-tabs>:日志Web Shell编辑器传出电子邮件。您还可以*下载构建数据库的转储*。</odoosh-gettingstarted-branches-tabs>