3

When the source control repository is unreachable cruise control keeps going back to check for modifications. While the latest build was successful the dashboard reports failure but cctray reports success.

Is there some way I can catch this scenario and have these two agree?

4

2 に答える 2

1

はい、このシナリオは、CCTrayがローカルPCでハングしたときに発生する可能性があります。ダッシュボードで問題が発生している場合は、CruiseControlサーバーが実行されている場所でIISサーバーがハングしていることを意味します。

これを解決するには、問題がどこにあるかを特定します。問題がCCTrayレベルにある場合は、CCTrayを再起動します。問題がダッシュボードレベルにある場合は、IISを再起動すると修正されます。

于 2012-12-05T14:20:40.030 に答える
1

これは実際には CruiseControl の問題によるものです。CC トレイ自体ではありません。

ソース管理が失敗した場合 (たとえば、タイムアウトまたは接続エラーが原因で)、次のことが当てはまります。

  1. プロジェクトが現在エラー状態にあるため、CruiseControl はプロジェクトの状態を に設定します。Exception
  2. ビルドが発生していないため 、 CruiseControl は最後のビルド ステータスを変更しません。
    • 前のビルドが成功した場合、プロジェクトは最後のビルド ステータスSuccessを報告します。

CruiseControl は、CCTray が使用する API を介してネイティブに最後のビルド ステータスを報告するだけです。プロジェクトのステータスを検査することはより複雑であり、効率が低下します。そのため、CCTray は「ステータス」を2 つのハイブリッドではなく、最後のビルド ステータスとして報告します。

WebDashboard はプロジェクトのステータス最後のビルド ステータスを表示するため、プロジェクトの真のステータスがより適切に評価されます。

この問題には他にもいくつかの副作用があります。projectTriggerこの状況での発砲など。これらもプロジェクトのステータスをチェックしないためです。

理想的には CCTray - およびprojectTriggers など。al -プロジェクトのステータス 最後のビルド ステータスの両方をチェックし、両方の組み合わせとして結果を報告します。

于 2014-08-23T10:03:06.110 に答える