Как ограничить агента в Jenkins для выполнения только одного задания?

#jenkins #agent #restriction

#Дженкинс #агент #ограничение

Вопрос:

У меня есть мастер Дженкинса без каких-либо дополнительных агентов. На моем сервере Jenkins более 100 заданий, и все они проверяются в системе управления версиями как файл Jenkins.

Весь файл Jenkins содержит нижеприведенное в начале файла,

 agent any
  

Теперь я хочу добавить одного агента в мастер и создать одно задание. Это вновь созданное задание должно выполняться только на недавно добавленном компьютере агента.

Мы можем ограничить выполнение задания в Jenkins для определенного агента, но в этом случае мне нужно изменить все мои 100 файлов Jenkins, чтобы они выполнялись только на master.

Есть ли способ в Jenkins, которым мы можем ограничить агента для выполнения определенного задания? Так что мне не нужно изменять все 100 файлов Jenkins.

Ответ №1:

Надеюсь, я вас правильно понял…

Вы можете добавить a label к своему новому заданию и установить для нового узла значение Only build jobs with label expressions matching this node … затем добавьте ту же метку к этому узлу, и он будет выполнять только задания, соответствующие этому.

Комментарии:

1. понял вас, но у меня более 100 существующих заданий, в которых указано run на любом агенте .. я не хочу, чтобы существующие задания выполнялись на новом агенте..

2. Да, я думаю, что существующие задания не будут выполняться на новом узле, если вы установите Only build jobs with label expressions matching this node , как any указано, для запуска на любом доступном узле… но новый узел больше не будет доступен для этих заданий. Это непроверено, хотя я могу ошибаться. Если это так, боюсь, вам нужно будет отредактировать все существующие задания.