jenkins withEnv конвейер больше не работает - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть ранее работавший конвейер Jenkins, где я вставляю переменную среды в шаг, используя withEnv:

stage('Set build number'){
      steps {
        sh 'chmod +x scripts/setBuildVersion.sh'
        withEnv(['DEPLOY_VERSION=$env.GIT_COMMIT']) {
          sh 'scripts/setBuildVersion.sh'
        }
      }
    }

внутри setBuildVersion.sh У меня есть содержимое: printenv sed -i "s / @@BUILD_NUMBER @@ / Version $ DEPLOY_VERSION / g "deploy.properties

Я обнаружил, что команда printenv может видеть мою переменную окружения DEPLOY_VERSION, но я пробовал много разных способов редактирования моей команды sed, но с помощью Env вход обрабатывается кактекст, поэтому $ DEPLOY_VERSION заменяется строкой $ env.GIT_COMMIT вместо значения переменной.

Чего мне здесь не хватает?Это работает на сервере linux jenkins, версия Jenkins 2.138.2.Спасибо за любые рекомендации, которые вы можете дать.

1 Ответ

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

используйте ${env.GIT_COMMIT} вместо $env.GIT_COMMIT

...