Как установить переменные ENV внутри Jenkinsfile с помощью команды sh () - PullRequest
0 голосов
/ 23 января 2020

Jenkinsfile содержимое:

pipeline {
  environment {
    SOMEVAR = "${sh(returnStdout: true, script: "node -p -e "require('./package.json').version")}"
  }
}

Выдает ошибку о неожиданном символе.

Только что попробовал:

SOMEVAR = /${sh(returnStdout: true, script: 'echo 1234')}/

Это работает, но затем я попытался

SOMEVAR = /${sh(returnStdout: true, script: 'node -v')}/

Возвращено: "узел: команда не найдена"

1 Ответ

0 голосов
/ 23 января 2020
script {
    env.SOMEVAR = sh script: 'node -v'
}

Попробуйте поставить этот блок после 'steps {' на первой стадии вашего конвейера. Вы используете декларативный конвейер, а не синтаксис конвейерного сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...