Jenkins中的Postcommit钩子尝试使用相同的修订号更新-all-SVN签出

Jenkins中的Postcommit钩子尝试使用相同的修订号更新-all-SVN签出,svn,jenkins,jenkins-plugins,Svn,Jenkins,Jenkins Plugins,我使用的是Jenkins 1.532.1,我有一个Subversion postcommit钩子,其中包括Jenkins Subversion模块中的URL,用于启动构建 为了让Jenkins关心具有提交的存储库,它需要知道该存储库的UUID。这是通过确保您的存储库处于“源代码管理”之下秘密完成的。在我的例子中,我有一组其他脚本,它们知道如何执行、获取和组装项目,但我还需要明确地告诉Jenkins,否则其Subversion模块将忽略构建请求。那很好。。。我告诉该模块将其设置为“空”签出。不会浪

我使用的是Jenkins 1.532.1,我有一个Subversion postcommit钩子,其中包括Jenkins Subversion模块中的URL,用于启动构建

为了让Jenkins关心具有提交的存储库,它需要知道该存储库的UUID。这是通过确保您的存储库处于“源代码管理”之下秘密完成的。在我的例子中,我有一组其他脚本,它们知道如何执行、获取和组装项目,但我还需要明确地告诉Jenkins,否则其Subversion模块将忽略构建请求。那很好。。。我告诉该模块将其设置为“空”签出。不会浪费大量的时间

我为Jenkins的工作定义了另外两个签出(同样,在“源代码管理”部分)。手动启动时,构建可以正常工作,但每当作为对post-commit钩子的响应启动构建时,它都会尝试使用相同的版本号获取所有三个签出,并且在第二次签出时自然会失败(第一次签出是具有post-commit钩子的存储库)

这是[已消毒]输出的顶部:

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插件”之外,还有什么建议吗?

这个插件捆绑在jenkins.war中

如果您的作业定义了多个Subversion模块位置,这可能会导致签出不一致-因此在这种情况下建议省略“?rev=$rev”


如果您将jpi文件放入subversion并将其锁定,它应该保持不变

是否先尝试升级?看看问题是否仍然存在@KalpeshSoni见最后一句。升级jenkins,它将用它升级svn该系统驱动了300多个作业,只有一个使用了post-commit钩子。这不值得破坏系统的稳定,伙计。你应该对jenkins进行一次测试,并运行一些工作来测试新插件/jenkins升级-这样你就会知道你最重要的工作没有中断,但总的来说,我已经看到jenkins的升级是相当轻松的