У меня есть ранее работавший конвейер 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.Спасибо за любые рекомендации, которые вы можете дать.