jenkins-pipeline - Jenkins 声明性管道中多个从站的标签条件
问题描述
我正在尝试使用以下内容:
pipeline {
agent { label 'slave1 || slave2' }
stages{
}
}
当我使用上述格式时,作业在 slave1 中执行。但是当我反转格式时,即 agent { label 'slave2 || slave1' },它仍在 slave1 上执行。您能否帮助澄清这是预期的工作方式。是不是类似于先写的标签,被赋予第一优先权。
解决方案
这是 Jenkins 的一个特性,而不是一个错误。它试图在选择奴隶时保持一致,因为这有可能节省一些时间。例如,在以前使用的从属设备上,结帐的结果可能仍在工作区中。
由于slave1
同时符合 和 的要求'slave1 || slave2'
,'slave2 || slave1'
Jenkins 将使用它。如果它不可用或忙,则将使用其他一些从属设备。
推荐阅读
- javascript - 有没有更好的方法来根据条件(Google Apps 脚本)合并行数据?
- javascript - 将 UTC 时间转换为特定时区客户端
- kotlin - androidMain 和 android 测试文件夹未被识别为模块
- c - 在 C 中的一组命令行参数中查找最大的数字
- spring-boot - 无法为方法公共摘要创建查询
- javascript - Typescript - 有没有办法用具有相同参数的函数进行组合?
- javascript - 从 Javascript 页面保存 JSON 数据
- ios - Xcode 12 HaishinKit lib 构建错误:架构 x86_64 的未定义符号
- c++ - 机械臂的逆运动学
- javascript - 求一个数的所有因数 [JS]