Jenkins服务器时间与SVN服务器时间不一致,Jenkins的SVN插件是使用时间标签下载,而不是取HEAD,
因此如果svn服务器的提交代码时间比Jenkins的当前时间晚,该代码就不会被更新。
所解决问题的方法是:
只要将Jenkins服务器时间与SVN服务器时间设置成一样的就可以。
没错,上面是解决了问题,但Jenkins的SVN插件是与时间戳相关的SVN revision吗?
查看某个Jenkins Job的构建日志,在使用SVN插件更新代码时,日志如下:
Updating svn://repository_path at revision '2015-08-06T08:48:12.490 +0800'
从上面可以看出来,该次构建相应的revision确实是构建时间戳。
那么,可以让Jenkins的SVN插件更新代码时,设置revision为HEAD吗?
答案是可以的,在SVN URL加@HEAD后缀即可,Jenkins的SVN插件是支持这个的。
在SVN URL加@HEAD后缀后,构建Jenkins Job后日志输出如下:
Updating svn://repository_path@HEAD
而且这样确保更新的代码是最新的,不会因为Jenkins服务器与SVN服务器之间的时间差受到影响。
注:HEAD是SVN revision关键字,表示版本库中的最新版本,跟在url后即可,可以参考jenkins界面的提示信息也可以看出:
jenkins界面提示信息
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有