我正在使用Jenkins 1.532.1,我有一个Subversion postcommit钩子,它包含Jenkins Subversion模块中的URL以启动构建。
为了让Jenkins关心有提交的存储库,它需要知道该存储库的UUID。这是通过确保您的存储库属于“源代码管理”下的存储库来秘密完成的。在我的例子中,我有一些其他脚本知道如何去,获取和组装项目,但我还需要明确告诉Jenkins,或者它的Subversion模块将忽略构建请求。那很好......我告诉那个模块让它成为一个“空”的结账。没有大量的时间丢失。
我为Jenkins工作定义了另外两个签出(再次,在“源代码管理”部分下)。手动启动时,构建工作正常,但每当构建作为对提交后挂钩的响应启动时,它会尝试使用相同的版本号获取所有三个签出,并且在第二个签出时自然会失败(第一个签出是具有postcommit钩子的存储库。)
这是[已消毒]输出的顶部:
Started by an SCM change
[EnvInject] - Loading node environment variables.
Building remotely on JenkinsWorker in workspace /home/builder/jenkins/workspace/project1
Updating https://buildhost/svn/project1/trunk at revision 3095
At revision 3095
Updating https://buildhost/svn/project1/trunk/build_me at revision 3095
ERROR: Failed to update https://buildhost/svn/project1/trunk/build_me
org.tmatesoft.svn.core.SVNException: svn: E160006: No such target revision '3095' found in the repository.
svn: E175002: REPORT of '/svn/project1/!svn/vcc/default': 500 Internal Server Error (https://buildhost)
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.DAVRepository.runReport(DAVRepository.java:1293)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:839)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.update(SVNUpdateClient16.java:507)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:364)
at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doUpdate(SVNUpdateClient16.java:274)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:27)
at org.tmatesoft.svn.core.internal.wc2.old.SvnOldUpdate.run(SvnOldUpdate.java:11)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
...
太荒谬了。除了“升级你的Subversion插件”之外还有什么建议吗?
答案 0 :(得分:3)
https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin
此插件捆绑在jenkins.war
中如果您的作业定义了多个Subversion模块位置,这可能会导致结帐不一致 - 因此建议在这种情况下省略'?rev = $ REV'。
https://wiki.jenkins-ci.org/display/JENKINS/Pinned+Plugins
如果你把jpi文件用于subversion并固定它,它应该坚持