2017-07-06 47 views
0

Jenkinsの私の仕事の1つは、HTMLレポートを生成し、HTML Publisher Pluginを使用してそれぞれのビルドからリンクします。Jenkins - HTMLレポートをカスタムURLに公開

http://hostname:port/job/Some%20Job%20Name/buildNumber/Functional_Test_Report/

そして:このような場合は、私が直接、このHTMLページを取得したい場合、私は次の形式を持っているリンクをたどる必要がある(は仮定はセキュリティが必要なでそう何のログを有効になっていません)それ以降のビルドごとにURLはbuildNumberに基づいて変更されます。私は最後のレポートだけを常時表示する "かなり"のURLを持っていたいと思います。

http://hostname:port/testReport

HTMLはその後、自動的にこの場所にビルドが終了し、レポートを参照してくださいジェンキンス経由するたびに行くの必要性を排除するたびにプッシュされる実際のレポート:このような何かを言います。

これを行う方法はありますか?

答えて

0

BUILD_NUMBER via environment variablesが公開され、そこからHTMLレポートのURLが生成されるはずです。どのようにしたいのかはあなた次第ですが、Jenkinsの仕事ではindex.htmlファイルにハードコードされたビルド番号を<script>というファイルに展開するか、上記のURLパターンにリダイレクトされます。それは本当にあなたのhostname:portのセットアップ方法に依存します。最新のレポートのみが必要なので、最新のジョブが常に古いファイルを上書きするようにするだけです。

ビルド番号をPHP、JSPなどのファイルに公開していますが、QAはビルド番号を知っています。その後、いつも行くことができる固定URLがあります(hostname:port/status)。私たちが本当に欲しければリダイレクトすることができます。

+0

あなたの答えをありがとう!はい、固定URLはまさに私が望むものです。ビルド番号はURLの一部であってはならず、最後のものだけが関連していなければなりません。私はあなたが提案したようなURLをどのように生成できるのか分かりません。そして私はどのようにそれにレポートをプッシュしますか?私はそれがindex.htmlファイルを含むいくつかのフォルダだと思いますか? –

+0

これは本当にあなたのjenkinsジョブをどのように設定したかによりますが、文字通りjenkinsを使ってシェルスクリプトを実行してファイルを作成します(シェルスクリプトでは 'cat'と呼んでいます)。私たちのjenkinsジョブはデプロイを行いシェルスクリプトを実行するので、 "ダイナミック"リンクを持つWebページが作成されます。 – aug

0

ここに自分のソリューションを投稿してください。おそらくもっともエレガントではありませんが、これを行う方法の1つは、Jenkinsが稼動しているのと同じマシンにHTTPサーバーをデプロイし、関連するJenkinsジョブに「ポストビルドステップ」を追加してHTMLレポートファイルをHTTPサーバーにコピーして、何かあります。次に、HTTPサーバーが実行されているポートでレポートを使用できます。

関連する問題