Jenkins CI使用错误的svn修订版进行构建

Dan*_*iel 18 svn hook continuous-integration jenkins

目前我正在使用Jenkins CI Server,我想通过svn post commit hook触发一个job/build.到目前为止,它按预期工作,但构建使用以前的svn修订版.

例如:我签入我的文件,客户端显示版本90,构建开始,但它使用89.

post-commit钩子看起来像这样:

UUID=`svnlook uuid $REPOS`
/usr/bin/wget \
     --header "Content-Type:text/plain;charset=UTF-8" \
     --post-data "`svnlook changed --revision $REV $REPOS`" \
     --output-document "-" \
     --timeout=2 \
     http://ci-jenkins/job/Job1/build?rev=$REV 1>&2
Run Code Online (Sandbox Code Playgroud)

Jenkins中的签出策略配置为"始终签出新副本".怎么了?我仍然从那开始,并有很多东西需要学习.所以请记住这一点来回答我.:-)

And*_*kes 27

遇到同样的问题,发现了这个:

基本上你需要在SVN网址的末尾添加@HEAD,例如:

http://svn.yourserver.com/svn/project/trunk@HEAD

  • 保持同步时间一般都很好,但这个答案是唯一可靠的解决方案.谢谢.十分感谢. (2认同)

Che*_*ers 13

确保Jenkins服务器上的日期/时间与SVN服务器上的日期/时间匹配(或至少在其后面).

非常肯定Jenkins在进行结账和更新时会使用日期/时间.