构建

概览

在Odoo.sh中,一个构建被认为是由运行在容器化环境中的特定版本的项目仓库的Odoo服务器 (odoo/odoo & odoo/enterprise) 加载的数据库。它的目的是测试服务器、数据库和功能在这个版本中的良好行为。

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

在此视图中,一行代表一个分支,一行的单元格代表该分支的构建。

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

如果在创建过程中没有出现错误或警告,则构建被视为成功。成功的构建会以绿色突出显示。

如果在创建过程中出现错误,则构建被视为失败。失败的构建将以红色突出显示。

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

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

阶段

生产

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

从那时起,对生产分支的推送将创建新的构建,尝试使用运行新修订版的服务器加载数据库。

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

如果构建失败无法加载或更新数据库,则使用先前成功的构建来加载数据库,因此数据库将使用运行先前成功修订版本的服务器运行。

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

暂存

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

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

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

  • 你可以在同一个暂存数据库中尽情尝试,然后在想要重新开始生产的新副本时请求重建。

然而,这意味着如果您在暂存数据库中进行配置更改并且不在生产中应用它们,则它们将不会在同一暂存分支的下一次构建中传递。

开发

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

如果在安装过程中测试失败,构建将被视为失败并以红色突出显示,因为测试旨在在出现问题时引发错误。

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

根据要安装和测试的模块列表,开发构建可能需要长达1小时才能准备好。这是由于默认的Odoo模块套件中设置了大量的测试。

特点

生产分支始终会首先出现,然后其他分支按照最后一次构建的顺序排序。您可以过滤掉分支。

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

对于每个分支,您可以使用 Connect 链接访问最后一次构建的数据库,并使用 Github 链接跳转到分支代码。对于除了生产环境之外的其他分支,您可以使用 rebuild 链接创建一个新的构建,该构建将使用分支的最新修订版。当分支已经有一个正在进行的构建时,此链接不可用。

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

对于每个构建,您可以使用带有Github图标的按钮访问修订更改。您可以使用 Connect 按钮以管理员身份访问构建的数据库。此外,您可以使用 Connect as 按钮访问另一个用户的数据库,在 Connect 按钮的下拉菜单中。

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

在构建的下拉菜单中,您可以访问与 分支视图 中相同的功能: 日志Web Shell编辑器发送的电子邮件 。您还可以下载构建数据库的 转储文件