svn - Error de subversión de Jenkins-E200015: No hay credencial que probar. Autenticación fallida
hudson credentials (5)
Cuando actualice el complemento de subversión, debe hacer uno de los siguientes.
- Limpiar el espacio de trabajo de jenkins porque metainfo está relacionado con la versión anterior de subversión
o
- Actualice Work-space manualmente, le solicita que actualice la versión del cliente, haga clic en Sí
Actualicé el plugin de subversión de jenkins a la versión 2.2
Ahora recibo un error de seguimiento para los repos que se compilan la primera vez después de la actualización y para los repos donde algo dentro de un cambio externo. Funciona para todas las demás versiones como se espera.
Traté de agregar credenciales adicionales, pero esto no ayudó.
Ahora espero que alguien tenga una idea de qué otra cosa se puede intentar para solucionar este problema annyoing.
El error:
hudson.util.IOException2: revision check failed on http://XXX/svn/XXX/Website/Config/trunk
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189)
at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132)
at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
at hudson.model.Run.execute(Run.java:1670)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/XXX/Website/Config/trunk failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:177)
... 11 more
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
... 29 more
Me gustaría enfatizar un punto en la respuesta de mikepenz: en el campo de texto Reino de la configuración de tu trabajo (después de hacer clic en Agregar credenciales adicionales ... ) no ingresas simplemente tu reino SVN sino tu reino y la URL completa de tu Repo externo Esto me hizo tropezar.
Entonces, esta parte de la configuración de tu trabajo se ve así:
Editar :
Como resultado, lo anterior no mejoró la situación: el error de credencial aún ocurrió y, además, los commits a repos externos no hicieron que Jenkins construyera el software.
Seguí la recomendación here (que también menciona preocupaciones de seguridad con el enfoque descrito anteriormente) y utilicé módulos en Jenkins para mis repositorios externos.
Así es como mi configuración de módulo busca un repositorio externo:
Obtuve exactamente la misma excepción y fue por usar el parámetro de compilación en la ruta del repositorio, por ejemplo:
http://reposerver/svn/project/${SVN_BRANCH}
incluso en el caso de que $ {SVN_BRANCH} estuviera correctamente configurado en ''trunk'' no funcionaba
cuando cambié la ruta del repositorio a:
http://reposerver/svn/project/trunk
todo funciona bien ahora
Este problema ocurrió después de actualizar el plugin svn de 1.54 a 2.2, por lo que parece que hay algún error en la nueva versión del plugin svn jenkins
Ok, después de muchos comentarios sobre el issues.jenkins-ci.org/browse/JENKINS-21785 oficial de errores, pudimos resolver este problema.
Para que funcione, debe actualizar a la última versión de 2.3 snapshots del complemento de subversión, que se puede encontrar aquí:
https://jenkins.ci.cloudbees.com/job/plugins/job/subversion-plugin/
(Descargue el archivo .hpi e instálelo en sus jenkins)
- Después de eso tienes que arreglar tu construcción. He escrito un pequeño tutorial sobre cómo puedes hacer esto here .
- abra la configuración de compilación
- desplazarse hacia abajo a la sección de gestión del código fuente
- haga clic en el botón "Agregar credenciales adicionales ..."
- definir como dominio el identificador específico para nuestro servidor svn -> (
<prot://ip:port > Company Subversion Repository
) - si debe funcionar para un svn diferente, necesita usar el dominio de este servidor
- checkout un repositorio en este servidor a través de la línea de comando ->
svn --username {username} --password {password} checkout prot://ip:port/svn/repo
<- puede cancelar esto después de que haya comenzado la salida
- checkout un repositorio en este servidor a través de la línea de comando ->
- lea todos los reinos disponibles en su mac con este cmd ->
find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
find ~/.subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
- lea todos los reinos disponibles en su mac con este cmd ->
- También hay otra opción para obtener el realm. en una PC que no estaba conectada al svn antes, haga lo siguiente en el therminal: "svn info prot: // ip: port / pathtorepo" -> esto generará algo así como "Reino de autenticación: Repositorio de Subversión de la compañía"
- seleccione las credenciales ->
buildmaster/****** (<prot://ip:port> Company Subversion Repository)
NOTA: Si está utilizando svn + ssh , su reino se vería como "svn + ssh: // server-name" sin comillas dobles. No se necesitan corchetes puntiagudos, ni nombre de puerto ni de reino.
- ¡salva y sé feliz!
Tuve el mismo error. Dado que el svn repo estaba protegido con contraseña. cuando agrego la credencial y la uso para svn check out, funciona bien.