我试图找出是谁触发了失败的Hudson构建。但我找到了Started by an SCM change
而不是Started by 'UserId'
。现在,这是什么意思?
答案 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自动创建一个构建来追赶。
解决方法:将本地分支名称更改为其他名称(或者不要使用它,也许)