2012-03-12 15 views
0

ビルドでANTビルドの手順が失敗した場合、問題を特定するためにログをアーカイブしたいと考えています。ただし、関連するログはワークスペース内に配置されていないため、完全なパスを使用する必要があります。ビルドに失敗したときにワークスペースにないアーティファクトをアーカイブする

標準のアーティファクトのアーカイブ機能は完全なパスではうまく動作しません。そのため、まずログを後でアーカイブできるように、いくつかのビルドステップでログをワークスペースにコピーする必要があります。元のANTスクリプトにコピーコードを組み込むことは望ましくありません(本当にそこに属していません)。一方、ビルド・ステップはビルドに失敗するため、アーティファクトを決して別のビルド・ステップとしてワークスペースにコピーするコードを実行することはできません。

ANT -keep-goingオプションの使用を検討していますが、どうすればビルドできますか?

他のアイデア(例えば、完全パスを正常に処理するアーティファクトプラグイン)はありますか?

更新:私は、アーカイブするファイルを含むディレクトリへのシンボリックリンクをワークスペースに作成することで問題を解決しました。 Kludgy、しかし効果的です。

答えて

3

Conditional Build Stepプラグインと組み合わせてFlexible Publishプラグインを使用することをおすすめします。

フレキシブルパブリッシュプラグインを使用すると、ビルドステップが正常に実行された後にビルドステップをスケジュールできます。これにより、成功したビルドと失敗したビルドの両方をキャッチして何かを実行できます。たとえば、ワークスペースの外側からワークスペースの内側にファイルをコピーするスクリプトがあります。条件付きBuildSetプラグインを使用すると、ビルドが失敗した場合にのみステップが実行されるようにステップを条件付けすることができます。これら2つのプラグインを使用して、障害発生時にファイルをワークスペースにコピーし、通常のJenkinsのメカニズムでアーカイブすることができます。

+0

マトリックスビルドでは機能しないようです。 –

+0

私は一時的にシンボリックリンクの問題を解決しましたが、Matrixビルドでさまざまなプラグイン(Flexible Publishだけでなく)が正常に動作することを確認し続けます。 –

関連する問題