Запуск (system / Jenkins) Groovy скрипта на ведомом при доступе к переменной сборки - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь запустить Groovy-скрипт, который обновляет build.description во время выполнения при запуске процесса на подчиненном узле.

Моя проблема в том, что «системный скрипт groovy» выполняется только на главном узле, а «скрипты Jenkins groovy» запускаются на подчиненных узлах, но не имеют доступа к переменной build.

IУ вас есть скрипт, похожий на этот:

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"

Есть ли способ изменить переменную сборки в «Дженкинс Groovy Script», который работает на ведомом устройстве?

Заранее спасибо!

1 Ответ

0 голосов
/ 08 декабря 2018

Нет.

Трубопровод Jenkins обеспечивает больший контроль над такими вещами.

Следование приведено в нашем сценарии.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}"
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...