Как увеличить версию пакета NPM. json в Jenkinsfile - PullRequest
2 голосов
/ 14 января 2020

Я пытаюсь изменить 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 и затем отправить его в хранилище?

Заранее спасибо .

...