
私の Jenkins ビルドは、保存されたフィルターの結果を Jira から取得する Sonar タスクを呼び出します。問題は、Sonar のリクエストが常に拒否されることです。私は、すべて Crowd 2.2.2 を介して認証する、かなり複雑なマシン クラスター (Jira 4.4.3、Sonar 3.2.1、Jenkins 1.473 など) を持っています。
2012.10.17 12:00:03 INFO c.a.c.i.s.s.c.SecurityServerClientImpl Existing application token is null, authenticating ...
2012.10.17 12:00:03 ERROR o.c.x.t.h.HttpChannel Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
2012.10.17 12:00:03 ERROR rails Error from external authenticator: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
SonarがJiraへの接続に使用しているアカウントが有効であり、Jiraにアクセスする権限があることを確認しました。Sonar Crowdプラグインをインストールし、以下の手順に従って設定しました。ドキュメンテーションしかし、何かがおかしいです。Sonar にログインすると、sonar.log に次のエラーが表示されます (ただし、ログインは成功します)。
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'application.name' : 'sonar'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: application.login.url
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'crowd.server.url' : 'http://10.74.47.120:8095/crowd/services/'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.isauthenticated
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.tokenkey
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Failed to find value for property: session.lastvalidation
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.ClientPropertiesImpl Loading property: 'session.validationinterval' : '5'
2012.10.17 15:49:53 INFO c.a.c.i.s.s.c.SecurityServerClientImpl Existing application token is null, authenticating ...
2012.10.17 15:49:54 ERROR o.c.x.t.h.HttpChannel Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
2012.10.17 15:49:54 ERROR rails Error from external authenticator: org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Server returned error code = 403 for URI : http://10.74.47.12:8095/crowd/services/SecurityServer. Check server logs for details
- キーポイント:
- Crowd サーバーのサーバー ログには何も記録されていません。Sonar 認証要求が Crowd に到達したという記録すらありません。
- sonar-3.2.1/conf/sonar.properties と Sonar-Tomcat/conf/crowd.properties の両方に application.login.url を定義しましたが、sonar.log がそれを取得しません。
- Sonar は sonar-3.2.1/conf/sonar.properties からいくつかの情報を取得しています。Sonar が変更を登録するかどうか確認するために crowd.url を変更しましたが、登録されました。
- session.validationinterval は Sonar-Tomcat/conf/crowd.properties で 0 と定義されていますが、sonar.log では session.validationinterval が 5 と表示されます。この値がどこから取得されるのかわかりません。
http://10.74.47.12:8095/crowd/services/SecurityServer
有効な URL であり、そこに SOAP サーバーが存在します。
Jenkins Crowd プラグインと Jenkins Jira プラグインもインストールしていますが、問題は見当たりません。
他にこれを試した人はいますか? また、私が見逃している追加の手順はありますか?
答え1
:) 答えがあります!!! 1 週間前にこれを見つけたときは興奮しました。私も同じような問題を抱えていました。
http://wiki.idalko.com/display/SONAUT/Sonar+Authenticator+for+JIRA
この人はコードをフォークして、Jira 組み込みクラウドで動作するように修正しました。私は現在、これをテスト サーバーに展開しています... 私にとってはうまく機能しています!