我有一个jenkins工作,即每5分钟轮询一次svn,并在发生一些更改时执行我的单元测试。
我的问题是,由于无法访问的代理,svn轮询会随机失败。
org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: HTTP proxy authorization failed
我想这个问题与我们使用的代理的一些问题有关,而不是我的工作或机器的配置。
我现在的问题是,如果svn民意调查失败,我可以跳过这个工作,只有在成功的情况下才能执行吗? 因为代理问题,我的工作列表中的构建失败。
或者无论如何都知道为什么会发生这种随机错误?
Fyi,我不希望修复代理问题本身,因为这可能是由于网络问题而发生的,但我只是想在svn轮询失败时跳过作业的执行。
答案 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更有效。