通过svn post-commit 提交完成时触发事务
svndata/test/hooks/
svndata为数据路径 test为项目名
post-commit 数据如下:一般把post-commit.tmpl 模版拷贝1份处理
REPOS="$1"
REV="$2"
#svnlook路径
SVNLOOK=/bin/svnlook
#提交的目录集合
CHANGEDDIRS=$($SVNLOOK dirs-changed "$REPOS")
#提交的内容集合
CHANGEFILE=$($SVNLOOK changed "$REPOS")
#提交作者
AUTHOR=$($SVNLOOK author -r $REV "$REPOS" )
#提交时的备注信息,不建议用中文
MESSAGE=$($SVNLOOK log -r $REV "$REPOS" )
#上面这些根据需要使用
#你需处理的逻辑
SVN提交更新,Jenkins无法检测到最新版本
源文:https://blog.csdn.net/yucaifu1989/article/details/104063527
分析后发现是Jenkins服务器的时间与SVN服务器时间不一致造成的,Jenkins比SVN服务器时间早十几分钟,而Jenkins中的SVN插件是按照时间戳来更新代码的。
也就是说Jenkins在 10:56 更新代码,而SVN上14、15版都是在 10:56 后提交的,所以Jenkins只能检测到 10:56 之前的最新版本。
针对上面的问题,有两种解决方案:
在SVN URL后面加上@HEAD后缀,表明更新版本库中最新版本
同步Jenkins和SVN服务器的时间,使两者保持一致