2

ちょっとランダムな質問ですが、当社では Jenkins を使用しています http://jenkins-ci.org/

とにかく、ビルドステータスの表形式の「天気予報」のような当社のセクションがあります。基本的には天気アイコン (晴れ/曇り/雷雨) があり、マウスオーバーすると、カバーされたメソッドの割合と、失敗したビルドの数 (2/256 など) などが表示されます。

また、プロジェクトが「ビルド」されているときに点滅/点灯し、完了すると青色に点灯する青色の光るインジケータがあります......とにかく、これはどのように正確に行われますか?

明らかに、Webページはいくつかの基本的なHtml / Javascriptであり、XML(テーブル用)はかなり確実です。でも....ビルドのステータスを正確に取得する方法に混乱しています(特に、メソッドの何%が完了したかを確認しますか?)。そして、何かが現在「ビルド」されているか、完了しているかどうかを確認するのはどうですか (完了したら「SUCCESS」文字列を返すと思いますが、現在ビルドされているときはどうですか....

これがどのように行われるかについてのアイデアはありますか? (そして、b4 誰かが「なぜ会社に尋ねないのか」と尋ねます) テスト Web サイトで自分で実装するための基本がどのように行われるかを理解したいだけです。

スクリーンショットを撮ります....しかし、ほとんどのものは機密と見なされていると確信しています....そして、私は解雇されたくありません笑。しかし、TL;DR 独自のビルド ステータス チェッカーをどのように作成しますか。

編集: http://wiki.jenkins-ci.org/display/JENKINS/Firefox+Add-on+Build+Monitor

^^これは、私が探しているものを実行するFirefoxアドオンの例ですが、jenkinsを使用せずに独自に作成したいと思います(これは素晴らしいですが、彼らがどのようにそれを行ったかを知りたいだけです)

4

2 に答える 2

1

ステータス ページの Javascript。

単純なバージョンでは、コールバックを使用して X 秒ごとに実行し、http://api.jquery.com/jQuery.ajax/などでサーバーからステータス情報を要求し、それに応じてページを更新します。

X 秒ごとにポーリングする必要がない、より高度なバージョンでは、Comet http://en.wikipedia.org/wiki/Comet_(programming )) のようなものを使用して、ブラウザーが接続を開いたままにできるようにします。サーバーは更新が発生したときに送信します。

Jenkins の完了率は基本的に、現在のビルドが実行されている時間と最近のビルドが完了するまでにかかった時間に基づいた推測にすぎないため、サーバー側がタスクの長さを追跡すると仮定すると、平均を取り、長さを比較できます。完了率を計算するための現在の実行の。

于 2011-03-24T08:15:38.023 に答える
0

Jenkins/Hudson がどのように機能するかを知りたい場合は、おそらく1 月に投稿されたアーキテクチャ ドキュメントから始めるとよいでしょう。

単純な継続的インテグレーション サーバーがどのように機能するかを調べたい場合は、おそらく以下を参照することをお勧めします。

どちらも単純化されており、Ruby で書かれています。

ジェンキンを使ったライブ ステータス インジケーターについては、 Firebugを装備して、ステータス ページを見て回ってください。進行中の一連の Ajax リクエストが表示されるはずです。

ビルドの進行状況の見積もりの​​部分については (「完了したメソッドの割合を確認する」という意味だと思いますよね?) Jenkins は、このビルドに費やされた時間 / これの最後の実行に費やされた時間を関連付けることで推測しているだけであることに気付きましたビルドします。

于 2011-03-24T07:57:44.980 に答える