2012-09-21 23 views
14

Ho avviato un progetto in cui devo utilizzare uno svn esterno (sono sotto un proxy). Quando ho messo l'URL nel progetto di configurazione, Jenkins non può accedere al repository, così ho riempito delle credenziali (URL del repository, username e password), ma qui è l'errore:Errore di autenticazione con SVN in 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 

In C: \ Windows \ System32 \ config \ systemprofile \ AppData \ Roaming \ Subversion \ server, il proxy è configurato e in Jenkins, posso installare/aggiornare i plugin.

L'URL di svn è in https e posso accedervi con credenziali in un browser.

Per impostazione predefinita, la versione svn utilizzata in Jenkins è 1.4, anche con 1.7, impossibile accedere a questo server svn.

Il server è un Windows 7 a 64 bit e questa è l'ultima versione di Jenkins.

Dov'è il problema?

Grazie

+1

'Causato da: java.net.ConnectException: Connessione scaduta: connect' suggerisce un problema relativo alla rete; puoi accedere al SVN esterno dalla rete in cui è installato Jenkins? –

+1

Attraverso il browser, posso accedere al server svn con le stesse credenziali di Jenkins. Quindi non capisco perché il proxy è configurato per Subversion. – skurty

+0

Recentemente ho affrontato questo problema: un proxy lasciava uscire il mio eseguibile del browser per cercare il repository SVN in HTTP (S), ma non permetteva al mio eseguibile svn di fare lo stesso. Forse questo è applicabile anche al tuo problema ... –

risposta

1

È possibile eseguire il comando con questa opzione:

-Dsvnkit.http.sslProtocols="SSLv3" 
2

Elimina il tuo ${user.home}/.subversion.

+2

Quale utente home, sul server Jenkins, jenkins slave, server di subversion? –

2

Davvero in ritardo qui, ma ho avuto lo stesso problema. Se si esegue SVN manualmente su una macchina Jenkins, verrà creato un file di autenticazione svn per il proprio server svn (caching dell'autenticazione). L'esistenza di quel file rompe Jenkins svn.

Sul mio server (Windows), il file si trova in:

%APPDATA%\Subversion\auth\svn.simple 

credo su linux, sarebbe in ~/.subversion

ho rinominato lo svn.simple directory svn .simple1 e le cose immediatamente hanno iniziato a funzionare (e si sono nuovamente interrotte quando l'ho cambiato).

Per evitare questo quando si esegue il bidone svn sul server Jenkins, è possibile

  • aggiornamento tuo% appdata% \ file di configurazione Subversion \ decommentando "store-password = no"
  • o utilizzare questo bandiera: --no-auth-cache
0

ho intenzione di presentare una risposta che ho presentato su ServerFault che ha funzionato molto bene per me. La soluzione era quella di modificare il file Jenkins.xml direttamente al suo elemento <arguments> per includere

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

A quanto pare questo permette l'interno Java di passare attraverso il server proxy.

Problemi correlati