ハドソンからMavenコンテキストで最終ビルド日を取得するにはどうすればよいですか? * changelog * レポートを生成するために、その日付をMavenに戻す必要があります。それを達成するためのより良い方法はありますか?
Hudson 2.2.1 と Maven 3.x を使用しています
環境変数BUILD_IDを使用して、最新のビルドのタイムスタンプを取得します。取得するタイムスタンプはYYYY-MM-DD_hh-mm-ss
形式になります。ZenTimestampプラグインを使用して、必要な形式にフォーマットします。
また
Hudson Groovy ビルダープラグインをインストールし、groovy スクリプトを実行して最新のビルド情報を取得します。
myjob = hudson.model.Hudson.instance.getItem("job_name")
lastbuild = myitem.getLastBuild()
println lastbuild.getTime()
少し前にこれを解決しました。最初にこの質問をしたので、ここでこれを共有する必要があると思いました。Hudson で作成できる REST 呼び出しがあります。これにより、最後に成功したビルドが得られます。rest 呼び出しと xpath を組み合わせて、最終ビルド日を YYYY-MM-DD_hh-mm-ss 形式で取得します。
Maven Antrun タスク:
<loadresource property="build_start_date">
<url url="${JOB_URL}/lastSuccessfulBuild/api/xml?xpath=/*/id/text()"/>
</loadresource>
あなたが達成しようとしていることを正確に理解するのに役立ちますが、私が理解していることから、
最後のビルドのタイムスタンプを含むプロパティ ファイルを維持できませんか? タイムスタンプはビルドごとに更新されます。
このプロパティ ファイルから最後のビルド時間を読み取り、使用している Maven プラグインで使用できます。
プロパティ ファイルを SCM にチェックインして、最終ビルド日がすべての個々のマシンで同じになるように反映することを選択できます。これが Hudson マシンでのみ必要な場合は、このファイルを SCM に入れなくても問題ありません。