Запуск (system/Jenkins) Groovy скрипта на ведомом при доступе к переменной сборки
Я пытаюсь запустить отличный скрипт, который обновляет build.description
во время выполнения при запуске процесса на подчиненном узле.
Моя проблема заключается в том, что "системный скрипт groovy" выполняется только на главном узле, а "скрипты Jenkins groovy" запускаются на подчиненных узлах, но не имеют доступа к build
переменная.
У меня есть скрипт, похожий на этот:
import hudson.model.*
// works on slave node
def param = args[0]
// works on master node
//def param = build.getEnvironment(listener).get('Params')
def ws = new File(".").absolutePath
def myCommand = ws + "\\Something.exe " + param
def proc = myCommand.execute();
// Cannot use on slave
build.description = "Running executable..."
int exitVal = proc.waitFor();
// Cannot use on slave
build.description = "Executable finished"
Есть ли способ изменить переменную сборки в "скрипте Jenkins Groovy", который работает на ведомом устройстве?
Заранее спасибо!
1 ответ
Нет.
Трубопровод Дженкинса предоставляет больше контроля над такими вещами.
Следующее из сценария у нас есть. nodeexpression
может имя узла.
node(nodeexpression) {
println "env :"
echo sh(script: 'env|sort', returnStdout: true)
currentBuild.displayName = "branch ${BRANCH}:${MAIL_TO}"
currentBuild.description = "${BRANCH}:${MAIL_TO} : message -> ${MESSAGE}"
}