我正在使用几个矩阵作业,通常包含以下步骤:
Build
,Install
,Test
Build
- 步骤设置为触地步骤。其他步骤使用Build
创建的二进制文件。
我最近在我的系统中添加了另一个节点,它也应该构建这些矩阵作业。现在我的问题是,詹金斯正在将我的工作步骤分配给这些节点。
Example:
1. Slave A runs the `Build` step and succeeds
2. Slave B runs the `Install` step and fails due to its dependency on the `Build`-results.
3. Slave A runs the `Test` step and succeeds, cause the dependencies are existing.
矩阵作业的执行失败,导致其步骤被分发。
我现在的问题是,是否有任何方法可以将矩阵作业的执行绑定到一个节点。如果在不同的节点上执行不同的执行,则没有问题,但是某个执行的步骤应该在某个节点上完成。
将matrix-job绑定到一个节点是没有办法的。它仍然应该绑定到一组节点。
答案 0 :(得分:1)
由于您将这些步骤作为单独的作业,在“标签”轴中:
这将确保您的每个步骤都在每个单独的从属服务器上运行,因此每个步骤都将拥有它的前任工作区。
请参阅: http://imagebin.org/163627
=============================================== ===========================
基于评论:
此时,您有两个选择:
您可以使用:https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin。您可以添加作为“构建”步骤的工件所需的所有内容,并使用插件将“安装”步骤复制它们。对“install”=>执行相同的操作“测试”。
将您的步骤合并为一个作业,因为如果它们是不同的作业,则无法保证每个步骤的“最少使用”节点。强制所有作业使用同一节点的唯一方法是选择单个节点而不是标签。
希望有帮助...