Разница между сценарием выполнения Groovy и сценарием выполнения системы Groovy в jenkins?

Может ли кто-нибудь объяснить разницу между Groovy-скриптом execute и Groovy-скриптом в jenkins? И как вызвать скрипт в подчиненное состояние, используя системный Groovy скрипт.


person user2400564    schedule 28.10.2013    source источник


Ответы (2)


Чтобы выполнить отличный сценарий на подчиненной машине, вы должны использовать Groovy плагин

Цитировать

Простой «Groovy Script» запускается в разветвленной JVM на ведомом устройстве, на котором выполняется сборка. По сути, это то же самое, что запустить команду "groovy" и передать ее в скрипт.

Ответ на первую часть вашего вопроса находится на той же странице

Системный отличный сценарий OTOH работает внутри JVM мастера Hudson. Таким образом, он будет иметь доступ ко всем внутренним объектам Hudson, так что вы можете использовать это для изменения состояния Hudson. Это похоже на функциональность консоли сценариев Jenkins.

person Jayan    schedule 28.10.2013
comment
Так что же такое системный Groovy-скрипт? Является ли мой сценарий конвейера проекта системным? - person SerG; 29.08.2019

Еще один момент, о котором следует помнить о системных скриптах Groovy. Хотя в документации говорится, что он всегда выполняется на мастере Jenkins, я с помощью болезненных средств обнаружил, что это неправда, если это задание, которое запускается другим заданием. В этом случае убедитесь, что вы специально ограничили его запуск на главном сервере, иначе произойдут плохие вещи.

person Joel    schedule 14.08.2015
comment
Этот ответ не совсем верный. Системные скрипты Groovy используются для доступа к внутренним компонентам Jenkins (например, информации о задании / сборке / очереди), и поэтому сам скрипт запускается на главном сервере Jenkins внутри главной JVM Jenkins, независимо от того, на каком подчиненном сервере выполняется само задание. Например, наш мастер Jenkins не имеет исполнителей и никогда не запускает сборки. Они всегда выполняются на ведомых устройствах, однако сценарии System Groovy по-прежнему выполняются на главной JVM. - person Nick Holt; 16.01.2019