#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
указано, для запуска на любом доступном узле… но новый узел больше не будет доступен для этих заданий. Это непроверено, хотя я могу ошибаться. Если это так, боюсь, вам нужно будет отредактировать все существующие задания.