Build “什么是”呢;“由SCM变更开始”;在哈德逊?

Build “什么是”呢;“由SCM变更开始”;在哈德逊?,build,jenkins,hudson,Build,Jenkins,Hudson,我试图找出是谁触发了哈德逊失败的建造。但是我发现是由SCM更改启动的,而不是由“UserId”启动的。现在,这是什么意思?“SCM”是“软件配置管理”,即您的版本控制系统。Hudson可以配置为轮询CVS、SVN等以查看源代码的更改,并根据该更改触发构建。这意味着有人检查了版本控制系统/软件配置管理(CVS、SVN、Git等)的代码更改,Hudson根据该更改启动了构建 您应该可以通过单击左侧菜单上的“更改”链接来查看它是谁。我正在编写一个脚本,向启动构建的开发人员发送一封包含更改集列表的电子邮

我试图找出是谁触发了哈德逊失败的建造。但是我发现
是由SCM更改启动的
,而不是由“UserId”启动的
。现在,这是什么意思?

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

这意味着有人检查了版本控制系统/软件配置管理(CVS、SVN、Git等)的代码更改,Hudson根据该更改启动了构建


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

我正在编写一个脚本,向启动构建的开发人员发送一封包含更改集列表的电子邮件。在网上花了几个小时试图寻找解决方案后,我找到了一个通过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
...
...
由用户启动
在Slave1上远程构建
$hg克隆-r测试\u克隆https://mercuial.com/build /部分/工作区/测试/克隆
添加变更集
添加舱单
添加文件更改
添加了355个变更集,对43个文件进行了298个变更
更新到分支默认值
更新了41个文件,合并了0个文件,删除了0个文件,未解析0个文件
...
...
日志文件位于
~workspace/jobs/${RELEASE}/builds/${BUILD\u NUMBER}/log
中。然后,您可以解析日志文件中的UserId。这样的办法应该行得通


UserID=
head-1~ workspace/jobs/${RELEASE}/builds/${BUILD\u NUMBER}/log | cut-d”“-f4

在jenkins中签出相同的分支名称和指定的分支名称时存在相同的问题。任何更改都会触发hudson自动创建一个版本以赶上进度


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

语法困扰我。。。应该是“由SCM更改启动”@pbx实际上,“an”是这里的正确单词。缩写词的a/an取决于缩写词的第一个字母(“Es”)的发音。类似于“一小时”(根据你的口音发音为awer/aar)。我在这里看到的是,通常情况下,当有人提交时,它会说“从__;开始更改”。当它说“由SCM变更开始”时,我认为这意味着Jenkins出现了一些问题,以至于它无法确定是谁做出了变更。事实并非如此。如果作业设置为轮询SCM,并且发现已提交更改(存储库已更改),则消息将说明作业是由SCM更改触发的。与用户无关-即使您没有配置用户,也会发生这种情况,但是作业配置为轮询您的SCMAh,如果您也没有配置用户,则可能会发生这种情况。但如果你确实配置了用户,至少在我们的例子中,它会说是哪个用户做的。那可能是新的。这是很久以前的事了,哈哈