BUILD_NUMBER
環境プロパティを使用して、ANTスクリプトに渡すことができるタグを作成し(WAR / JARマニフェストに書き込むことができるように)、「Subversion」によって実行されるタグ付けプロセス中に使用しようとしています。タグ付けプラグイン」。
マイナーな問題は、使用するBUILD_NUMBER
前にゼロパッドを使用したいということです。たとえば、BUILD_NUMBER
が14の場合、私のタグは1.0.0.00014のようになります。
「EvaluatedGroovyscript」機能を備えたEnvInjectプラグインを見つけました。このスクリプトは機能しますが、質問があります。
import jenkins.model.*
def tagPrefix = "1.0.0."
def env = Jenkins.instance.getItem("BnL Build").getLastBuild().getEnvironment()
def buildNumber = env['BUILD_NUMBER']
def tag = tagPrefix + buildNumber.padLeft(5,'0')
def map = [AP_SVN_TAG: tag]
return map
質問は次のとおりです。
- EnvInjectオプションは、私がやりたいことを実行するための最良の方法でさえありますか?
- 「このビルド」を取得するためのより直接的なAPIはあり
Jenkins.instance.getItem()
ますか?私はそれが機能することを知っていますが、ジョブの名前がいつでも変更されてスクリプトが壊れる可能性があることを考えると、壊れやすいようです。manager.build.getEnvironment(manager.listener)['BUILD_NUMBER']
代わりに試しましたが、エラーが発生しました[EnvInject] - [ERROR] - SEVERE ERROR occurs: No such property: manager for class: Script1
。
Jenkins v1.488、Jenkins Subversion Tagging Pluging v1.16、Environment InjectorPlugingv1.73を実行するのに役立つ場合。
前もって感謝します、
マット