drno-reg
@drno-reg
см не кратко

Как правильно присвоить значение переменной с путем и передать его в sh?

Здравствуйте.

В ходе разработки файла сценария для jenkins понадобилось присвоить переменной значение пути для того, чтобы дальше передать ее в sh

подготовил скрипт

#!groovy

node('superhost01'){
    String HOSTNAME="host01"
    String USERNAME="tech_user"
    env.PATH="/data/jdbc_connector"
    stage('Prepare') {
        checkout scm
    }
    stage('Deploy') {
        sh """
        scp -r config.yaml ${USERNAME}@${HOSTNAME}:$PATH
        """
}

}


НО при исполнении его Jenkins ом задача валится по ошибке в строке
env.PATH="/data/jdbc_connector"

Как правильно присвоить значение переменной с путем и передать его в sh?
  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
drno-reg
@drno-reg Автор вопроса
см не кратко
правильный вариант использовать withEnv

#!groovy

node('superhost01'){
  String HOSTNAME="host01"
  String USERNAME="tech_user"
  withEnv(['PATH=/data/jdbc_connector']) {
    stage('Prepare') {
      checkout scm
    }

    stage('Deploy') {
      sh """
      scp -r config.yaml ${USERNAME}@${HOSTNAME}:$PATH
      """
    }
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы