用户构建未过滤的软件包。¶
在 Odoo.sh 中,构建是指由 Odoo 服务器(odoo/odoo 与 odoo/enterprise)加载的数据库,运行在容器化环境中项目的特定修订版本之上。其目的是测试服务器、数据库以及与该修订版本相关的功能的正常行为。
概述¶
在 构建 视图中,一行代表一个分支,该行中的一个单元格代表该分支的一次构建。
大多数构建在您向 GitHub 仓库分支推送之后创建。它们也可以通过其他操作创建,例如在 Odoo.sh 上导入数据库或请求对项目中某分支进行重新构建。
构建可能有三种状态:
如果构建过程中未出现错误或警告,则该构建被视为 成功 。成功的构建以 绿色 高亮显示。
如果出现警告但没有错误,则该构建被视为 接近成功 。接近成功的构建以 黄色 高亮显示。
如果构建过程中出现错误,则该构建被视为 失败 。失败的构建以 红色 高亮显示。
注解
构建并非总是从零创建数据库。例如,当您在正式运行分支推送更改时,创建的构建会使用您的新修订版本启动服务器,并尝试在其上加载当前的正式运行数据库。
阶段¶
生产¶
正式运行分支的第一次构建会从零创建数据库。如果该构建成功,该数据库将成为您项目的正式运行数据库。
此后,向正式运行分支推送的更改将创建新的构建,尝试使用运行新修订版本的服务器加载该数据库。
如果该构建成功或接近成功,则正式运行数据库将以该构建及其关联的修订版本运行。
如果该构建无法加载或更新数据库,则重新使用上一次成功的构建来加载数据库。此时,数据库将继续使用上一次成功的修订版本运行。
注解
用于运行正式运行数据库的构建始终是构建列表中的第一个。如果某个构建失败,它会被放在当前运行正式运行数据库的构建之后。
预发布¶
预发布构建会复制正式运行数据库,并尝试使用该预发布分支的修订版本加载该副本。
每次您向预发布分支推送新修订版本时,生成的构建都会使用一份最新的正式运行数据库副本。同一分支的构建之间不会重用数据库。这确保了:
预发布构建使用的数据库与当前正式运行状态非常接近,因此您的测试不会基于过期数据执行。
您可以在预发布数据库中自由试验。当您希望使用一份新的正式运行数据库副本重新开始时,可以请求一次重新构建。
但这也意味着,如果您在预发布数据库中进行了配置更改且未在正式运行环境中应用,这些更改将不会出现在同一预发布分支的下一次构建中。
开发¶
开发构建会创建新的数据库、加载演示数据并运行单元测试。
如果测试在安装过程中失败,该构建将被视为失败,因为测试的设计初衷就是在出现问题时报告错误。
如果所有测试通过且未出现错误,则该构建被视为成功。
注解
根据要安装和测试的模块列表,一个开发构建可能需要长达一小时才能就绪。这是因为默认的 Odoo 模块套件中包含大量测试。
功能¶
正式运行分支总是排在第一位。其他分支按最后创建的构建时间排序。以紫色高亮的阶段对应于 分支 菜单中选中的阶段。
小技巧
您可以使用搜索栏过滤分支。
对于每个分支,您可以:
通过单击 连接 访问最新构建的数据库。
通过单击 Github 跳转到该分支的代码。
通过单击 重新构建 创建新的构建。它使用该分支的最新修订版本(如果该分支已有构建正在进行,则此操作不可用)。
对于每个构建,您可以:
通过单击 (GitHub) 图标查看修订版本的变更。
以管理员身份点击 连接 访问该构建的数据库,或点击 连接 旁的 (更多操作) 按钮并选择 以…身份连接 以其他用户身份访问。
通过单击 连接 旁的 (更多操作) 按钮,并选择 日志、Web Shell、编辑器、发件邮件 (用于预发布和开发阶段)、监控,以及 下载数据库转储 (用于正式运行和预发布阶段),访问与分支视图中相同的工具。