Я пытаюсь изменить Jenkinsfile, чтобы он поднял версию моего NPM пакета перед развертыванием сервера.
У меня есть такой метод развертывания:
if (env.GIT_COMMIT != env.GIT_PREVIOUS_COMMIT && env.GIT_BRANCH == "origin/develop"){
def version=sh(returnStdout: true, script: "npm version")
echo "Version is ${version}"
echo "${version.test}"
sh "npm version patch"
sh "git push"
}
Я проверяю если мой предыдущий коммит отличается от фактического, поэтому, если есть какие-либо изменения между последним развертыванием и текущим, он должен увеличить номер версии.
Вывод переменной версии:
{
test: '0.0.3',
npm: '6.12.1',
ares: '1.15.0',
brotli: '1.0.7',
cldr: '35.1',
http_parser: '2.8.0',
icu: '64.2',
llhttp: '1.1.4',
modules: '72',
napi: '5',
nghttp2: '1.39.2',
node: '12.13.1',
openssl: '1.1.1d',
tz: '2019c',
unicode: '12.1',
uv: '1.33.1',
v8: '7.7.299.13-node.16',
zlib: '1.2.11'
}
Я бы хотел test
до go с 0.0.3
до 0.0.4
, а затем используйте npm version 0.0.4
для установки этой версии в приложение.
${version.test}
не работает. Выдает следующее сообщение об ошибке:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.String test
Как получить это значение и увеличить его, чтобы я мог правильно использовать npm version 0.0.X
и затем отправить его в хранилище?
Заранее спасибо .