如何在Jenkins Pipeline脚本中使用多个标签来选择节点?

edqdpe6u  于 11个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(175)

简介:

我们目前正在运行一个Jenkins主节点和多个从节点,每个节点目前都有一个标签(例如,linuxwindows,.)
在我们的脚本管道脚本(在shared library中定义)中,我们目前使用如下代码段:

node ("linux") {
    // do something on a linux node
}

字符串

node ("windows") {
    // do something on a windows node
}


然而,随着我们的测试环境的增长,我们现在有多个不同的Linux环境,其中一些具有或不具有某些功能(例如,一些可能能够运行服务X,而另一些可能不能)。
我现在想用多个标签来标记我的奴隶,指示他们的能力,例如:

  • 从机1:linuxserviceXserviceY
  • 从机2:linuxserviceXserviceZ

如果我现在需要一个能够运行服务X的Linux slave,我想做以下事情(根据这个):

node ("linux" && "serviceX") {
    // do something on a linux node that is able to run service X
}


然而,这失败了。有时,也会选择一个windows从机,这不是我想要实现的。

**问题:**我如何定义多个标签(和组合),基于Jenkins脚本的Pipepline脚本中选择的节点?

nx7onnlm

nx7onnlm1#

&&必须是字符串的一部分,而不是逻辑Groovy操作符。

相关问题