如何使用SVN post-commit hook 触发jenkins 构建?
How to use SVN post-commit hook trigger jenkins build?
主要目的是我想将一些文件提交到 SVN 存储库并触发 jenkins 构建一些测试 automatically.The 我想使用的方法是 post-commit 钩子。
我使用 TortoiseSVN 并创建了一个存储库来进行测试。
我将 post-commit.tmpl 更改为 D:\Repository\hooks 文件夹中的 post-commit.bat。
下面是 post-commit.bat 中的内容:(Windows 10)
SET REPOS=%1
SET REV=%2
FOR /f "tokens=*" %%a IN (
'svnlook uuid %REPOS%'
) DO (
SET UUID=%%a
)
FOR /f "tokens=*" %%b IN (
'svnlook changed --revision %REV% %REPOS%'
) DO (
SET POST=%%b
)
D:/Wget/wget ^
--header="Content-Type:text/plain;charset=UTF-8" ^
--post-data="%POST%" ^
--output-document="-" ^
--timeout=2 ^
http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%
错误信息是:
post-commit hook failed (exit code 8)with output:
--2019-09-23 13:50:53--
http://localhost:8080/"realUUID"/notifyCommit?rev=7
Resolving localhost(localhost)... ::1, 127.0.0.1
Connecting to localhost(localhost)|::1|:8080... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-09-23 13:50:53 ERROR 404: Not Found
我所做的是:
1.change 詹金斯设置为 "Allow anonymous read access"
2.cancel CSRF 保护
不知道SVN与Jenkins通信的主要步骤是什么
请帮忙,感谢您的回答!
您收到的错误是 HTTP 404 NOT FOUND
,您需要检查挂钩脚本是否有错误:
HTTP request sent, awaiting response... 404 Not Found
2019-09-23 13:50:53 ERROR 404: Not Found
因此,wget
联系的URL无效:http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%
。您需要仔细检查 URL 是否有拼写错误,以及 %UUID% 是否正确。请注意,我在您的挂钩中没有看到任何 %UUID% 的 SET - 也许这是问题所在?
主要目的是我想将一些文件提交到 SVN 存储库并触发 jenkins 构建一些测试 automatically.The 我想使用的方法是 post-commit 钩子。
我使用 TortoiseSVN 并创建了一个存储库来进行测试。 我将 post-commit.tmpl 更改为 D:\Repository\hooks 文件夹中的 post-commit.bat。
下面是 post-commit.bat 中的内容:(Windows 10)
SET REPOS=%1
SET REV=%2
FOR /f "tokens=*" %%a IN (
'svnlook uuid %REPOS%'
) DO (
SET UUID=%%a
)
FOR /f "tokens=*" %%b IN (
'svnlook changed --revision %REV% %REPOS%'
) DO (
SET POST=%%b
)
D:/Wget/wget ^
--header="Content-Type:text/plain;charset=UTF-8" ^
--post-data="%POST%" ^
--output-document="-" ^
--timeout=2 ^
http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%
错误信息是:
post-commit hook failed (exit code 8)with output:
--2019-09-23 13:50:53--
http://localhost:8080/"realUUID"/notifyCommit?rev=7
Resolving localhost(localhost)... ::1, 127.0.0.1
Connecting to localhost(localhost)|::1|:8080... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-09-23 13:50:53 ERROR 404: Not Found
我所做的是: 1.change 詹金斯设置为 "Allow anonymous read access" 2.cancel CSRF 保护
不知道SVN与Jenkins通信的主要步骤是什么
请帮忙,感谢您的回答!
您收到的错误是 HTTP 404 NOT FOUND
,您需要检查挂钩脚本是否有错误:
HTTP request sent, awaiting response... 404 Not Found
2019-09-23 13:50:53 ERROR 404: Not Found
因此,wget
联系的URL无效:http://localhost:8080/jenkins/subversion/%UUID%/notifyCommit?rev=%REV%
。您需要仔细检查 URL 是否有拼写错误,以及 %UUID% 是否正确。请注意,我在您的挂钩中没有看到任何 %UUID% 的 SET - 也许这是问题所在?