繁体   English   中英

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

[英]Don't execute jenkins job if svn polling failed

我有一个詹金斯工作,每5分钟轮询一次svn,如果发生某些更改,请执行我的单元测试。

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

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

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

我现在的问题是,如果svn poll失败,我可以跳过该作业,而仅在成功的情况下才执行? 这样我就不会因为代理问题而使我的工作列表中的构建失败。

还是以某种方式知道为什么会发生此随机错误?

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

除了轮询svn之外,您还可以尝试使用post-commit挂钩,以便svn通知詹金斯更改。 参见https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin?focusedCommentId=43352266

为了防止在前一个操作失败时运行下一个操作,请在您的Shell脚本顶部添加set + e。 -e选项在任何操作返回1(表示失败)时立即退出。 并且。 @mikep的答案是有用的想法。 提交后挂钩比轮询更有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM