Как использовать несколько меток для выбора узла в сценарии Jenkins Pipeline? - PullRequest
0 голосов
/ 14 мая 2018

Введение

В настоящее время мы запускаем мастер Jenkins с несколькими подчиненными узлами, каждый из которых в настоящее время помечен одной меткой (например, linux, windows, ...)

В наших скриптах сценариев-конвейеров (которые определены в общей библиотеке ), в настоящее время мы используем следующие фрагменты:

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

или

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

Тем не менее, по мере роста нашей среды тестирования у нас появилось несколько различных сред Linux, некоторые из которых имеют или не имеют определенных возможностей (например, некоторые могут запускать службу X, а некоторые - нет).

Я бы хотел пометить своих рабов несколькими ярлыками с указанием их возможностей, например:

  • Раб 1: linux, serviceX, serviceY
  • Раб 2: linux, serviceX, serviceZ

Если мне сейчас нужен подчиненный Linux, который может запускать службу X, я хотел бы сделать следующее ( в соответствии с этим ):

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

Тем не менее, это не удалось. Иногда выбирается и раб windows, чего я не хочу достичь.


Вопрос: Как определить несколько меток (и комбинированных) на основе того, какой узел выбран в сценарии конвейерного сценария Jenkins?

1 Ответ

0 голосов
/ 14 мая 2018

&& должен быть частью строки, а не логическим оператором Groovy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...