現在実行中のビルドのテキストにアクセスできる組み込み変数はありますか?
のようなものを使ってみましたがcurrentBuild.log
、currentBuild.buildLog
うまくいきませんでした。
現在実行中のビルドのテキストにアクセスできる組み込み変数はありますか?
のようなものを使ってみましたがcurrentBuild.log
、currentBuild.buildLog
うまくいきませんでした。
実際には、 currentBuild.rawBuild.log
(非推奨ではない) currentBuild.rawBuild.getLog(100)
(最後の 100 行) を使用することも可能です。参照: http://javadoc.jenkins-ci.org/hudson/model/Run.html#getLog-int-
ログを分析するための解決策をたくさん探しました。
rawBuild
追加の承認なしでサンドボックスでスクリプトを実行したいので、使用できませんでしたtee
前の手順を変更したくない、またはログ全体を RAM に保存したくないため (残念ながら、Windows マシンでそれが必要でした)、分析したい手順での使用は問題ありませんでした。Jesse Glicksの回答に触発されたソリューションを見つけました:
manager
を使用してログを分析できることがわかります。manager.logContains(regexp)
manager.getLogMatcher(regexp)
myTestString
呼び出すことができますmanager.logContains('.*myTestString.*')
manager.getLogMatcher(regexp)
残念ながら、ログ全体を分析する方法が見つかりませんでした (getLogMatcher
一致する最初の行のマッチャーのみを返します)。そのため、現在、ログ ファイルに特別な文字列が含まれている頻度をカウントする方法はありません。
現在ありません。(ちなみに、のプロパティはSnippet Generator » Global VariablescurrentBuild
の下に記載されています。)
かなり簡単に実装できますが、大規模なビルドではうまく拡張できません。JENKINS-28119は、あなたの根本的な要求が推測しているものに対して、よりスケーラブルなソリューションを提供します。