如果svn轮询失败,请不要执行jenkins工作

时间:2017-06-21 09:39:47

标签: svn jenkins proxy

我有一个jenkins工作,即每5分钟轮询一次svn,并在发生一些更改时执行我的单元测试。

我的问题是,由于无法访问的代理,svn轮询会随机失败。

org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: HTTP proxy authorization failed

我想这个问题与我们使用的代理的一些问题有关,而不是我的工作或机器的配置。

我现在的问题是,如果svn民意调查失败,我可以跳过这个工作,只有在成功的情况下才能执行吗? 因为代理问题,我的工作列表中的构建失败。

或者无论如何都知道为什么会发生这种随机错误?

Fyi,我不希望修复代理问题本身,因为这可能是由于网络问题而发生的,但我只是想在svn轮询失败时跳过作业的执行。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用post-commit钩子,而不是轮询svn,以便svn通知Jenkins更改;见https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin?focusedCommentId=43352266

答案 1 :(得分:0)

为了防止在上一个操作失败时运行下一个操作, 将set + e添加到shell脚本的顶部。 -e选项在任何操作返回1时立即退出(这意味着失败)。并且。 @ mikep的答案很有用。而不是轮询,Post-commit hook更有效。