什么是哈德森的“SCM变革开始”?

时间:2010-11-12 10:19:00

标签: build jenkins hudson

我试图找出是谁触发了失败的Hudson构建。但我找到了Started by an SCM change而不是Started by 'UserId'。现在,这是什么意思?

4 个答案:

答案 0 :(得分:16)

这意味着签入代码的人会更改您的版本控制系统/软件配置管理(CVS,SVN,Git等),Hudson会根据该更改开始构建。

您应该可以通过点击左侧菜单中的“更改”链接来查看它是谁。

答案 1 :(得分:6)

“SCM”是“软件配置管理”,即您的版本控制系统。可以将Hudson配置为轮询CVS,SVN等以更改源代码,并根据该更改触发构建。

答案 2 :(得分:2)

我正在编写一个脚本,用于向启动构建的开发人员发送包含变更集列表的电子邮件。在网上花了几个小时试图寻找解决方案之后,我找到了一个挖掘hudson日志文件的解决方法。可能不是最干净的方式,但它的工作原理。每次当hudson触发构建时,它都会将构建状态记录到日志文件中。日志看起来像这样..

Started by user <****>
Building remotely on Slave1
$ hg clone -r test_clone https://mercuial.com/build /some/workspace/test_clone
adding changesets
adding manifests
adding file changes
added 355 changesets with 298 changes to 43 files
updating to branch default
41 files updated, 0 files merged, 0 files removed, 0 files unresolved
...
...

日志文件位于~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log。然后,您可以解析UserId的日志文件。这样的事情应该有效。

用户ID = head -1 ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log|cut -d" " -f4

答案 3 :(得分:0)

当结帐分支名称和指定的分支名称相同时,jenkins会出现同样的问题。任何更改都会触发hudson自动创建一个构建来追赶。

解决方法:将本地分支名称更改为其他名称(或者不要使用它,也许)