13

私は CC.NET 1.6 サーバーとそれに対応する CCTray を使用しており、リモーティング経由で問題なく接続していますが、URL を開発者に提供できるように、HTTP 経由でダッシュボード接続を使用するように変更する必要があります。

ダッシュボードの URL を CCTray に入れる:

http://localhost/CruiseControl/server/local/ViewServerReport.aspx

CCTray が返される結果

Failed to connect to server: The remote server returned an error: (500) Internal Server Error.

IIS ログを確認すると、リクエストがこの場所への POST に変換され、ログで 500 レスポンスが確認されていることがわかります。

/CruiseControl/server/local/ViewServerReport.aspx/server/localhost/RawXmlMessage.aspx

GET 経由でその URL に移動すると、「エラーを処理できません: ルート要素が見つかりません」というエラーが表示された Xml が表示されます。もちろん、これは私が POST ではなく GET を実行した結果かもしれません。

注: はい、現時点ではすべてが 1 台のマシンに含まれているため、URL に localhost を使用しています。これを機能させることができれば、もちろんより良いホスト名を使用するように変更します。

4

1 に答える 1

10

cc.net 1.8にアップグレードした後、これを解決しました

1)サーバー名については、dashboard.config を確認してください。

フィドラーを使用してリクエストが通過するのを監視し、ダッシュボード サーバー名を確認します

http://localhost/CruiseControl/server/yourdomain.com/ViewServerReport.aspx

上記の場合、yourdomain.comです。

dashboard.config を開き、同じ名前のエントリがあることを確認します

<server name="yourdomain.com" url="tcp://localhost:21234/CruiseManager.rem" allowForceBuild="true" allowStartStopBuild="true" backwardsCompatible="false" />

2) IIS リクエストの検証を確認する

アプリケーション プールで Cruise Control の IIS を確認します。.NET 4.0 の場合は、web.config でこれが必要です。

<httpRuntime requestValidationMode = "2.0" />

その構成は cc.net 1.8 web.config にありますが、コメントを外す必要があります

3)もう一度やり直してください。うまくいくはずです-そうでない場合は、フィドラーで応答を観察してください

于 2012-08-02T04:07:48.493 に答える