
Mi compilación de Jenkins llama a una tarea de Sonar que extrae de Jira los resultados de un filtro guardado. El problema que tengo es que siempre me deniegan la petición de Sonar. Tengo un grupo de máquinas bastante complejo (Jira 4.4.3, Sonar 3.2.1, Jenkins 1.473, etc.), todas autenticándose a través de Crowd 2.2.2.
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
He verificado que la cuenta que Sonar está usando para contactar a Jira es válida y tiene permiso para acceder a Jira. Tengo el complemento Sonar Crowd instalado y configurado de acuerdo con lasdocumentación, pero algo no está bien. Cuando inicio sesión en Sonar veo los siguientes errores en sonar.log (pero mi inicio de sesión se realiza correctamente):
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
- Puntos clave:
- Los registros del servidor en el servidor Crowd no me dicen nada. No hay ningún registro de que la solicitud de autenticación de Sonar haya llegado siquiera a la multitud.
- He definido application.login.url tanto en sonar-3.2.1/conf/sonar.properties como en Sonar-Tomcat/conf/crowd.properties, pero sonar.log no lo detecta.
- Sonar ESTÁ recogiendo parte de la información de sonar-3.2.1/conf/sonar.properties. Cambié crowd.url para ver si el sonar registraría el cambio y así fue.
- session.validationinterval se define como 0 en Sonar-Tomcat/conf/crowd.properties pero sonar.log muestra session.validationinterval como 5. No puedo determinar de dónde obtiene ese valor.
http://10.74.47.12:8095/crowd/services/SecurityServer
es una URL válida y hay un servidor SOAP disponible allí.
También tengo instalados el complemento Jenkins Crowd y el complemento Jenkins Jira y no veo ningún problema allí.
¿Alguien más ha probado esto y me falta algún paso adicional?
Respuesta1
:) ¡¡¡Tengo una respuesta para ti!!! Me emocioné cuando encontré esto hace una semana. Tuve un problema similar.
http://wiki.idalko.com/display/SONAUT/Sonar+Authenticator+para+JIRA
Este tipo bifurcó el código y lo arregló para que funcionara con la multitud integrada de Jira. Lo estoy implementando para probar servidores ahora mismo... ¡está funcionando muy bien para mí!