7

Jenkinsを使用して、Webアプリケーションでいくつかの統合テストを実行します(キュウリ、カピバラ、セレンを使用)

テストが失敗するたびに、スクリーンショット、HTMLソース、およびプロセスのビデオが保存されます。

パス構造は次のようになります。

results/output/<test_name>/<files>

Jenkinsのアーカイブアーティファクト機能を使用してファイルを提供します(パターン:) results/output/*/*。それは素晴らしい働きをします。

ただし、ビルドが成功するとすぐにスクリーンショットやビデオなどは表示されず、Jenkinsがパターンのファイルを見つけることができないため、ビルドは失敗します。

ファイルが存在しない状態でJenkinsに成功するように指示する方法はありますか?

result / output / success/hooray.txtのような空のフォルダー構造を作成するような汚いハックはしたくありません。

4

2 に答える 2

13

そのための未解決の問題があります:https ://issues.jenkins-ci.org/browse/JENKINS-10502

https://wiki.jenkins-ci.org/display/JENKINS/Features+managed+by+system+propertieshudson.tasks.ArtifactArchiver.warnOnEmptyで説明されているように、動作はシステムプロパティによって制御されます。

于 2012-03-21T13:06:06.323 に答える
4

いくつかのプロジェクトで同様の問題が発生しました。私たちがそれを解決した2つの異なる方法があります(2つの異なるビルドで)。

1)ファイルがまだ存在しない場合に、偽の一時ファイルを作成するコマンドをビルドステップに追加しました。

この場合、テストが失敗した場合に生成されるoutput.pdfファイルを収集することを目的としていました。そのファイルが存在しない場合に「missing.pdf」ファイルを作成するビルドステップを追加しました。次に、アーティファクトとして収集するのは、指定されたディレクトリの「*.pdf」です。これはかなりうまくいくようです。

2)別のビルドでは、globを使用してファイルのセットを収集する必要がありました。

ここで行ったことは、ビルドステップで常に宛先領域に単一の空のファイルが作成されるようにするためです。そうすれば、グロブは常に何かと一致します。

これらは、これまでに見つけた最良のソリューションです。あなたがより良い何かを見つけたら、私はそれについて聞きたいです。

于 2011-12-23T14:17:59.483 に答える