Используя номер сборки из package.json - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть проект Node в devops Azure, и я хотел бы установить номер сборки в том, что находится в текущем package.json, с добавлением номера.Поэтому, если мой package.json говорит, что версия 0.0.1-бета, номер сборки будет выглядеть как 0.0.1-beta+20190215.1.

. Строка версии легко получить с помощью npm: npm view <package-name> version, но я могуне выяснить, где в конвейере хранить и ввести его, чтобы использовать его в качестве номера сборки.Из того, что я могу сказать, номер сборки может быть установлен только как жестко закодированное значение или через переменные, которые были установлены «вручную», а не динамически, как при использовании вывода команды.

Я пыталсяиспользуя переменные, сначала пользовательские, которые не работали.Я также нашел переменную с именем Build.Buildname, но, похоже, ее нельзя записать.

Есть идеи?

Это соответствующий раздел моего базового pipe.yaml, который яэкспериментируя с:

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '8.x'
  displayName: 'Install Node.js'

- script: |
    npm install
    npmVersionString=$(npm view <package-name> version) 
    echo ##vso[task.setvariable variable=build.buildnumber]$npmVersionString
    npm run build
  displayName: 'npm install, set buildnumber and build'

1 Ответ

0 голосов
/ 17 февраля 2019

Чтобы обновить номер сборки во время сборки, вы не можете просто обновить переменную Build.BuildNumber, как для каждой переменной, для этого есть специальная команда:

##vso[build.updatebuildnumber]{build number}

Так что в вашем случае замените этострока

echo ##vso[task.setvariable variable=build.buildnumber]$npmVersionString

С этой строкой

echo ##vso##vso[build.updatebuildnumber]$npmVersionString

(не забудьте добавить номер сборки, если хотите).

...