У меня есть работа с конвейером Jenkins, где я беру некоторые переменные сборки в качестве входных данных, и если переменные не передаются пользователем, я запускаю скрипт и получаю значение этих переменных , Позже я должен использовать значение этих переменных для запуска других заданий.Изменение переменных groovy внутри исполнятеля оболочки в конвейере Jenkins
Так что мой код выглядит примерно так:
node {
withCredentials([[$class: 'StringBinding', credentialsId: 'DOCKER_HOST', variable: 'DOCKER_HOST']]) {
env.T_RELEASE_VERSION = T_RELEASE_VERSION
env.C_RELEASE_VERSION = C_RELEASE_VERSION
env.N_RELEASE_VERSION = N_RELEASE_VERSION
env.F_RELEASE_VERSION = F_RELEASE_VERSION
....
stage concurrency: 1, name: 'consul-get-version'
sh '''
if [ -z ${T_RELEASE_VERSION} ]
then
export T_RELEASE_VERSION=$(ruby common/consul/services_prod_version.rb prod_t_release_version)
aws ecr get-login --region us-east-1
aws ecr list-images --repository-name t-server | grep ${T_RELEASE_VERSION}
else
aws ecr get-login --region us-east-1
aws ecr list-images --repository-name t-server | grep ${T_RELEASE_VERSION}
fi
.......
't-integ-pipeline' : {
build job: 't-integ-pipeline', parameters: [[$class: 'StringParameterValue', name: 'RELEASE_VERSION', value: T_RELEASE_VERSION],
[$class: 'BooleanParameterValue', name: 'FASTFORWARD_TO_DEPLOY', value: true]]
},
......
Проблема, когда я запуская основную работу с пустым T_RELEASE_VERSION, ребенок строить работу т-МЭГ-конвейер запускается с пустым значением из Параметр RELEASE_VERSION.
Как изменить параметр groovy внутри исполнятеля оболочки, а затем получить его снова в groovy-исполнителе с измененным значением?
Я использовал ваше предложение и придумал что-то вроде это: sh 'ruby common/consul/services_prod_version.rb prod_n_release_version> status' N_RELEASE_VERSION_NEW = readFile ('status'). trim() sh 'ruby common/consul/services_prod_version.rb prod_q_release_version> status' Q_RELEASE_VERSION_NEW = readFile ('status'). Trim() –
Отлично, добавив способ, который вы решили для моего ответа, только для удобства чтения – MaTePe