Jenkins anomalie SVN

De EjnTricks
Révision de 20 octobre 2015 à 22:44 par Etienne (discussion | contributions) (Page créée avec « Lors de la mise à jour de Tomcat7 sous Ubuntu, des opérations de mises à jour depuis l'instance Tomcat6.... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Lors de la mise à jour de Tomcat7 sous Ubuntu, des opérations de mises à jour depuis l'instance Tomcat6. Cependant lors de l'utilisation de Jenkins des messages d'erreurs sont affichées dans la trace catalina.out.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Etude

A chaque exécution d'un job qui nécessite l'accès à SVN, la trace suivante était affichée dans la trace de Tomcat, fichier /var/log/tomcat7/catalina.out dans le cadre de cette installation.

oct. 19, 2015 10:59:12 PM org.tmatesoft.svn.core.internal.util.DefaultSVNDebugLogger log
INFOS: NETWORK: svn: E204899: Cannot create new file '/usr/share/tomcat7/.subversion/auth/svn.ssl.server/auth.e919e681-5001-0010-a219-29d19687db6c.tmp':
Aucun fichier ou dossier de ce type
org.tmatesoft.svn.core.SVNException: svn: E204899: Cannot create new file '/usr/share/tomcat7/.subversion/auth/svn.ssl.server/auth.e919e681-5001-0010-a219-29d19687db6c.tmp':
Aucun fichier ou dossier de ce type
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:85)
        at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.createEmptyFile(SVNFileUtil.java:367)
        at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.createUniqueFile(SVNFileUtil.java:527)
        at org.tmatesoft.svn.core.internal.wc.DefaultSVNSSLTrustManager.storeServerCertificate(DefaultSVNSSLTrustManager.java:217)
        at org.tmatesoft.svn.core.internal.wc.DefaultSVNSSLTrustManager.checkServerTrusted(DefaultSVNSSLTrustManager.java:155)
        at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:813)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1421)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:878)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:814)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
        at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
        at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:321)
        at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:170)
        at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:463)
        at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371)
        at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359)
        at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:710)
        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:1032)
        at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:175)
        at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
        at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:184)
        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:21)
        at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1259)
        at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
        at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:968)
        at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:873)
        at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:184)
        at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:123)
        at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:726)
        at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:861)
        at hudson.scm.SCM.checkout(SCM.java:485)
        at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
        at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
        at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
        at hudson.model.Run.execute(Run.java:1741)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
        at hudson.model.ResourceController.execute(ResourceController.java:98)
        at hudson.model.Executor.run(Executor.java:408)
Caused by: java.io.IOException: Aucun fichier ou dossier de ce type
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:1006)
        at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.createNewFile(SVNFileUtil.java:381)
        at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.createEmptyFile(SVNFileUtil.java:353)
        ... 47 more

Le message est suffisament clair, il est impossible de créer les fichiers de travail sous le répertoire /usr/share/tomcat7/.subversion. En effet, lors de l'installation de la version 7, le propriétaire du répertoire /usr/share/tomcat7 était root.


Configuration-icon.png Modifications

Afin que le répertoire /usr/share/tomcat7/.subversion soit créé, il suffit de donner les droits suffisants pour le compte tomcat7 utilisé pour le démarrage du service. Dans le cadre de cette installation, le propriétaire est simplement modifié.

#sudo chown tomcat7:tomcat7 /usr/share/tomcat7

Si cela n'est pas suffisant, il pourra être néessaire de créer le sous répertoire .subversion.

#sudo mkdir /usr/share/tomcat7/.subversion
#sudo chown tomcat7:tomcat7 /usr/share/tomcat7/.subversion