как объединить строки в Jenkinsfile?

Я пытаюсь объединить некоторые строки в Jenkinsfile, но это не работает:

def versionFromFile = readFile("./version")
def version = versionFromFile + env.BUILD_NUMBER

Я пробовал и другие решения:

sh "echo version: ${version}-${env.BUILD_NUMBER}"
sh "git tag ${version}-${env.BUILD_NUMBER}"

но ${env.BUILD_NUMBER} не оценивается/не печатается

if I do

sh "git tag 1.0.1-${env.BUILD_NUMBER}"

${env.BUILD_NUMBER} оценивается/распечатывается

Я до сих пор не понимаю, как язык сценариев работает внутри Jenkinsfile, вся документация посвящена DSL, значит ли это, что вы не можете выполнять обычные операции со сценариями?


person cirpo    schedule 06.08.2016    source источник
comment
Я не думаю, что вам нужно использовать def при определении переменных в Jenkinsfile.   -  person Mark Chorley    schedule 10.08.2016


Ответы (1)


Это работает?

versionFromFile = readFile("./version")
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"

при условии, что versionFromFile читается из файла правильно, конечно. Чтобы проверить, что это не ваша проблема, вы можете просто определить это так:

versionFromFile = "99"
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"
person Mark Chorley    schedule 10.08.2016