2012-09-21 13 views
14

Comencé un proyecto en el que tengo que usar un svn externo (estoy bajo un proxy). Cuando pongo la URL en el proyecto de configuración, Jenkins no puede acceder al repositorio, por lo que llena de credenciales (URL del repositorio, usuario y contraseña), pero aquí está el error:Error de autenticación con SVN en Jenkins

FAILED: svn: E175002: OPTIONS /.../trunk/www failed 

org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS /.../trunk/www failed 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:304) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:289) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:277) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:696) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:619) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1018) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:99) 
     at hudson.scm.SubversionSCM$DescriptorImpl.postCredential(SubversionSCM.java:1968) 
     at hudson.scm.SubversionSCM$DescriptorImpl.doPostCredential(SubversionSCM.java:1913) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288) 
     at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151) 
     at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90) 
     at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111) 
     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) 
     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) 
     at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241) 
     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) 
     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) 
     at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241) 
     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) 
     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488) 
     at org.kohsuke.stapler.Stapler.service(Stapler.java:162) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) 
     at winstone.ServletConfiguration.execute(ServletConfiguration.java:248) 
     at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) 
     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) 
     at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) 
     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 
     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) 
     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 
     at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) 
     at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) 
     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) 
     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 
     at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50) 
     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 
     at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) 
     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) 
     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) 
     at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) 
     at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215) 
     at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
     at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
     at java.util.concurrent.FutureTask.run(Unknown Source) 
     at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: svn: E175002: OPTIONS /.../trunk/www failed 
     at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) 
     at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154) 
     at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97) 
     ... 80 more 
Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS request failed on '/.../trunk/www' 
svn: E175002: connection refused by the server 
     at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) 
     at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:681) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298) 
     ... 79 more 
Caused by: svn: E175002: OPTIONS request failed on '/.../trunk/www' 
     at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:679) 
     ... 80 more 
Caused by: svn: E175002: connection refused by the server 
     at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:424) 
     ... 80 more 
Caused by: java.net.ConnectException: Connection timed out: connect 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(Unknown Source) 
     at java.net.PlainSocketImpl.connectToAddress(Unknown Source) 
     at java.net.PlainSocketImpl.connect(Unknown Source) 
     at java.net.SocksSocketImpl.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source) 
     at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.connect(SVNSocketFactory.java:112) 
     at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createSSLSocket(SVNSocketFactory.java:85) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.connect(HTTPConnection.java:195) 
     at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:360) 
     ... 80 more 

En C: \ Windows \ System32 \ config \ systemprofile \ AppData \ Roaming \ Subversion \ server, el proxy está configurado y en Jenkins, puedo instalar/actualizar complementos.

La url svn está en https y puedo acceder a ella con credencial en un navegador.

De forma predeterminada, la versión svn utilizada en Jenkins es 1.4, incluso con el 1.7, es imposible acceder a este servidor svn.

El servidor es un Windows 7 de 64 bits y esta es la última versión de Jenkins.

¿Dónde está el problema?

Gracias

+1

'Causado por: java.net.ConnectException: Tiempo de espera agotado de conexión: conectar' sugiere un problema relacionado con la red; ¿puedes acceder al SVN externo desde la red donde se implementa Jenkins? –

+1

A través del navegador, puedo acceder al servidor svn con las mismas credenciales que en Jenkins. Entonces realmente no entiendo porque el proxy está configurado para Subversion. – skurty

+0

Recientemente me enfrenté a este problema: un proxy permite que el ejecutable de mi navegador salga para navegar el repositorio SVN en HTTP (S), pero no permitió que mi ejecutable svn hiciera lo mismo. Tal vez esto también sea aplicable a su problema ... –

Respuesta

1

Puede ejecutar el comando con esta opción:

-Dsvnkit.http.sslProtocols="SSLv3" 
2

borrar sus ${user.home}/.subversion.

+2

¿Cuál es el hogar de los usuarios, en el servidor Jenkins, esclavo jenkins, servidor de subversión? –

2

Muy tarde en el juego aquí, pero tuve el mismo problema. Si ejecuta SVN manualmente en una máquina Jenkins, creará un archivo de autenticación svn para su servidor svn (almacenamiento en caché de autenticación). La existencia de ese archivo rompe Jenkins svn.

En mi servidor (ventanas), el archivo se encuentra en:

%APPDATA%\Subversion\auth\svn.simple 

Creo en Linux, lo que sería en ~/.subversion

Me cambió el nombre del directorio para svn.simple SVN .simple1 y las cosas comenzaron a funcionar instantáneamente (y se rompieron nuevamente cuando lo cambié de nuevo).

Para evitar esto cuando se ejecuta la papelera de SVN en el servidor de Jenkins, que pueda

  • actualización de la carpeta% APPDATA% \ archivo de Subversion \ config descomentando "almacenes contraseñas = no"
  • o utilizar este indicador: --no-auth-cache
0

Voy a enviar una respuesta que presenté en ServerFault que funcionó muy bien para mí. La solución fue la de editar el archivo Jenkins.xml directamente en su elemento <arguments> incluir

-Dhttp.proxyHost=proxy.myproxy.com Dhttp.proxyPort=99999 -Dhttp.auth.preference=Basic 

Al parecer, esto permite que las partes internas de Java para pasar a través del servidor proxy.

Cuestiones relacionadas