Jenkins anomalie SVN
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
.
Votre avis
Nobody voted on this yet
|
|
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
.
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