Как использовать переменную среды Jenkins в качестве входных данных для подключаемого модуля

Я хотел бы установить номер выпуска для выпуска Octopus Deploy, используя номер сборки Jenkins. В плагине OctopusDeploy Release я попробовал следующее в поле номера версии:

 1.0.%BUILD_NUMBER%

а также

 1.0.${BUILD_NUMBER}

Переменная не заменяется ее значением, и я получаю такую ​​ошибку:

Номер выпуска 1.0.% BUILD_NUMBER% не является допустимым семантическим номером версии. Как минимум, номера релизов требуют наличия как минимум двух частей, например «1.3».

Кажется, что приведенные выше соглашения работают только как входные данные в скриптах. Как я могу ссылаться на номер сборки как на ввод в поле плагина?


person Mark Wojciechowicz    schedule 01.06.2017    source источник
comment
Вы пробовали использовать переменную BUILD_NUMBER без префиксов? Он прошел или вы все еще видите переменную как имя? Может быть, сам плагин использует другой синтаксис для обращения к стандартным переменным?   -  person Mikhail    schedule 05.06.2017
comment
@Mikhail Я закончил с помощью задачи PowerShell. Есть ли стандарт того, как плагины обрабатывают переменные в Jenkins? Я ожидал, что использование имени переменной без токена будет проблематичным   -  person Mark Wojciechowicz    schedule 06.06.2017


Ответы (1)


Для powershell установите плагин powershell в jenkins, затем добавьте шаг Windows Powershell, ниже вы можете увидеть ссылку:

jenkins.png

Он перенаправит вас на страницу со стандартными переменными, чтобы получить переменную номера сборки, на которую вы ссылаетесь, как описано на этой странице, то есть:

$env:BUILD_NUMBER

Кроме того, я бы рекомендовал создать переменную powershell, прежде чем передавать ее в smwhere еще, в вашем случае это должно выглядеть так:

$var="1.0." + $env:BUILD_NUMBER

Вы можете проверить переменную перед ее дальнейшей передачей, вызвав echo:

echo $var

Кроме того, в Windows есть мощный встроенный инструмент, который может помочь вам писать сценарии PowerShell: Windows Powershell ISE.

person Mikhail    schedule 06.06.2017