Jenkins作业配置仅在存在对特定SVN分支的提交时才触发作业

时间:2017-12-13 04:33:31

标签: jenkins svn

假设我的jenkins作业配置中包含3个SVN分支。我正在使用poll scm来触发构建。但是,我希望仅在特定分支更改为3时才触发构建。不使用git。知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

对SVN使用post-commit hook。 对于ubuntu OS,在$ REPOSITORY / hooks目录中添加以下脚本

REPOS="$1"
REV="$2"
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://server/subversion/${UUID}/notifyCommit?rev=$REV

for windows在$ REPOSITORY / hooks目录中添加.bat以下

SET REPOS=%1
SET REV=%2
SET CSCRIPT=%windir%\system32\cscript.exe
SET VBSCRIPT=C:\Repositories\post-commit-hook-jenkins.vbs
SET SVNLOOK=C:\Subversion\svnlook.exe
SET JENKINS=http://server/
"%CSCRIPT%" "%VBSCRIPT%" "%REPOS%" %2 "%SVNLOOK%" %JENKINS%

有关详细信息,请参阅以下链接 https://wiki.jenkins.io/display/JENKINS/Subversion+Plugin