【问题标题】:Handling hardware resources when testing with Jenkins使用 Jenkins 进行测试时处理硬件资源
【发布时间】:2011-09-26 18:01:57
【问题描述】:

我想将 Jenkins 设置为 1)从我们的存储库中提取我们的源代码, 2)编译并构建它 3) 在嵌入式设备上运行测试

使用 Jenkins,步骤 1 和 2 非常简单直接 至于第 3 步, 我们有数百个不同版本的设备,我正在寻找一个可以处理硬件设备/资源可用性的实用程序(最好在 python 中)。

以这样的方式,其中一个步骤将能够接收哪个设备可用并在其上运行测试。

【问题讨论】:

  • “嵌入式设备”是否运行 Jenkins 从代理?
  • 不,它们没有运行 java 或其他任何东西,我需要启动它们

标签: python embedded jenkins


【解决方案1】:

我发现,最好的办法是拥有像 jenkins 这样的东西,或者如果您使用的是企业、电子指挥官,则管理资源“池”,该池本质上是虚拟设备,但它们有一个属性,这样您就可以调用带有 IP 地址或串行端口的 python 脚本并与您的设备进行通信。

我将它用于无线电的自动化嵌入式测试。 python 脚本管理了大量的测试,指挥官会继续从池中选择一个单步资源,该资源有一个 ip,并将其传递给 python 脚本。 test 然后将执行所有测试,stdout 将被存储到指挥官/jenkins 中......还设置属性以跟踪测试执行时的通过/失败计数

//主资源从池中获取单步项目,在主资源中编写了一个小脚本,询问从池中提取的项目是否具有资源名称==“Bench1”..“BenchX”等。

基本上:

如果 resource.name=="BENCH1": python myscript.py --com COM3 --baud 9600 ... 等等

这样做的真正伟大功能是,如果您必须断开设备连接,您不需要提交脚本更改,您只需将指挥官/jenkins 资源标记为禁用,以及主“项目”仍然可以从您的资源池中提取的内容

【讨论】:

  • 这实际上是我们今天正在做的,在 Electric Commander 中,我不知道它也可以在 Jenkins 中完成(当时)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 2016-11-07
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
相关资源
最近更新 更多