【发布时间】:2013-12-23 08:49:08
【问题描述】:
我正在设置我的 Subversion 提交后挂钩,以便在提交时远程触发 Jenkins 构建。
首先我将post-commit.tmpl 更改为post-commit.bat,然后:
我先尝试了这个:
SET REPOS=%1
SET REV=%2
C:/wget_for_win/wget http://localhost:8080/jenkins/job/my_project/build
然后我提交了一些代码,它按预期工作。
但这只会构建一个项目,但我希望它更灵活,所以我将post-commit.bat 更改为我在Jenkins Subversion Plugin page 上找到的那个:
SET REPOS=%1
SET REV=%2
SET UUID=`svnlook uuid %REPOS%`
C:/wget_for_win/wget \
--header="Content-Type:text/plain;charset=UTF-8"
--post-data="svnlook changed --revision %REV% %REPOS%"
--output-document="-"
--timeout=2
http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%
但是这个不行。它没有触发 Jenkins 继续构建。我在第二个脚本中做错了什么?
我认为在批处理文件中运行“svnlook”存在问题。我在 cmd 中运行svnlook uuid [REPO LOCATION],它会显示 id。然后我把它放在一个批处理文件中:
SET UUID=svnlook uuid [REPO LOCATION]
ECHO %UUID%
运行上述批处理文件不会输出 id。它只显示svnlook uuid [REPO LOCATION]。
【问题讨论】:
标签: svn batch-file jenkins post-commit-hook