Skip to main content
测试通常会指定它使用的 Box,例如 --box BENCH-3。使用 lager lease 时,测试改为从一个池中申请 Box。池是一组带名称的要求,例如“一块 nRF52840 开发板和一个调试探针”。租用服务器会找到一台符合这些要求、在线且未被占用的 Box。随后 Lager 在该 Box 上运行您的命令,并在命令结束时释放该 Box。 租用服务器不属于 Lager。Lager 发送池名称,并得到一台 Box。服务器保存各个池以及每次租用的记录。

语法

-- 把 lager lease 的选项与您的命令分开。lager lease 不读取 -- 之后的文本。

选项

工作方式

  1. Lager 向租用服务器申请池中的一台 Box。
  2. 服务器为这次租用锁定一台 Box,并把该 Box 的地址发送给 Lager。
  3. Lager 使用以下环境变量运行 COMMAND:
  4. COMMAND 运行期间,Lager 按服务器设定的间隔为租用续期。
  5. COMMAND 结束时,Lager 释放该 Box。COMMAND 失败时以及您按下 Ctrl-C 时也是如此。
COMMAND 中的每条 lager 命令都会使用 LAGER_BOX 和 LAGER_LOCK_HOLDER。因此,每条命令都使用所租用的 Box,并把这次租用的锁视为自己的锁。请参阅 Box 锁定。
不要在 COMMAND 中使用 --box。--box 会覆盖 LAGER_BOX。命令随后会使用另一台 Box,而所租用的 Box 在命令结束之前一直闲置。

示例

在租用的 Box 上运行一个脚本:
在同一台 Box 上运行多条命令。租用会一直占用该 Box,直到 shell 结束:
在 GitHub Actions 作业中运行测试:

服务器与凭据

Lager 按以下顺序查找租用服务器:
  1. --server 选项。
  2. STOUT_URL 环境变量。
  3. 您的 lager login 会话所在的服务器(仅当您恰好有一个会话时)。
对于凭据,如果设置了 STOUT_TOKEN 环境变量,Lager 就使用它;否则 Lager 使用您的 lager login 会话。请参阅登录。在 CI 中请使用令牌,因为 CI 作业无法登录。

退出状态

状态 75 与测试失败不同。因此,您的 CI 可以把“没有可用的 Box”与“测试失败”分开显示。

问题