2016-08-06 44 views
3

私は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}は評価されません/私は

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

$ {env.BUILDをすれば

を印刷_NUMBER}が評価/印刷される

私はまだJenkinsfile内でスクリプト言語がどのように機能するのかわかりません。ドキュメンテーションはすべてDSLに関するものです。つまり、一般的なスクリプト操作はできません。

+0

Jenkinsfileで変数を定義するときにdefを使う必要はないと思います。 –

答えて

2

これは機能しますか?

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

もちろん、versionFromFileはファイルから正しく読み込まれているものとします。あなたの問題ではないことをテストするには、このように定義するだけです。

versionFromFile = "99" 
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}" 
関連する問題