持续集成 – 是否可以使用Travis CI测试硬件相关代码?

我刚刚了解了Travis CI,并了解了他们的一些文档.对于开源项目来说,它似乎是一个很好的解决方案.

到目前为止我通过Travis文档阅读,我怀疑我是否能够以某种方式将其连接到我的个人硬件.

我正在研究一些用github上托管的C/C++编写的IoT相关项目.在Travis CI上构建和发布神器上的图像应该不是问题.但是在测试时,肯定无法在他们的(Travis的)硬件上进行测试.二进制文件需要放在我的开发板(raspberry pi)上,然后应该执行测试用例.一旦测试服完成,应将Travis CI通知结果.

Travis是否允许这样的功能?如果没有,那将是一个很大的限制.

最佳答案

But when it comes to testing, definitely it cannot be tested on their
(Travis’s) hardware

通过这个声明,你回答了自己的问题.如果您想使用Travis公开显示测试状态,最好的机会是使用Jenkins,GitLab CI或任何其他CI服务器在本地运行测试,然后向Travis提供API(例如包含测试结果的文件).然后所有特拉维斯都会抓取并显示测试结果.

如果要从Travis中控制内容,可以使用HTTP调用从Travis触发构建,然后在显示结果之前等待远程构建完成. Jenkins和GitLab CI都提供远程触发功能.但是,这需要您的CI服务器可公开访问,这可能存在安全风险(例如,人们触发不间断构建).

点赞