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に関するものです。つまり、一般的なスクリプト操作を実行できないということですか?
これは機能しますか?
versionFromFile = readFile("./version")
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"
もちろん、versionFromFileがファイルから正しく読み取られると仮定します。それがあなたの問題ではないことをテストするために、あなたはそれをこのように定義することができます
versionFromFile = "99"
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"