我正在测试嵌入式设备。
我们有一个设备群,其中有多种类型的设备(例如 A、B 和 C),每种设备都有许多实例(A1..A10、B1..B10、C1..C10),可用于远程测试。每个设备都连接到一个 Jenkins 节点(带有标签“A”、“B”或“C”)。到目前为止,如果我们想测试设备系统(A、B 和 C 一起工作),它们连接到许多必须单独处理的 Jenkins 节点(“多节点设置”)。
现在我们想用单节点设置(所有嵌入式设备 A、B、C 由同一节点控制)替换这些。当前的作业结构包括在高层保留给定多节点设置中的所有节点,然后一一调用不同的作业,然后在相应的节点上运行。
出于可维护性和明确职责的原因,我想保留给定测试的几个子作业的结构。
我现在的问题是顶级作业选择任何单节点设置,但当然所有下游子作业都需要在该确切实例上运行,我可以通过 passing the NODE_NAME
of the top-level job as parameter 保证这一点。不幸的是,由于我永远不应该在同一个实例上并行运行两个(顶级)作业,我只能为每个节点定义一个执行程序。反过来,这意味着应该与顶级作业在同一节点上运行的下游作业将始终等待执行器无限可用。
TL;DR:有没有办法允许下游作业“重用”上游作业中的执行程序?
我完全同意“不,没有”,但如果有的话,它会使我们的测试更容易管理。否则我只需要将所有作业合并为一个大作业。