首页 > 解决方案 > Jenkins 声明性管道中多个从站的标签条件

问题描述

我正在尝试使用以下内容:

pipeline {
agent { label 'slave1 || slave2' }
stages{
}
}

当我使用上述格式时,作业在 slave1 中执行。但是当我反转格式时,即 agent { label 'slave2 || slave1' },它仍在 slave1 上执行。您能否帮助澄清这是预期的工作方式。是不是类似于先写的标签,被赋予第一优先权。

标签: jenkins-pipeline

解决方案


这是 Jenkins 的一个特性,而不是一个错误。它试图在选择奴隶时保持一致,因为这有可能节省一些时间。例如,在以前使用的从属设备上,结帐的结果可能仍在工作区中。

由于slave1同时符合 和 的要求'slave1 || slave2''slave2 || slave1'Jenkins 将使用它。如果它不可用或忙,则将使用其他一些从属设备。


推荐阅读