2011-02-17 62 views
4

使用标准Hudson源代码管理插件之一时,默认情况下自上次Hudson构建以来所做的更改将被收集并显示在“最近的更改”中。修改Hudson更新日志

我们的构建有一个基础知识库,然后子模块在他们自己的知识库中。我们使用我们的SCM来拉取基础知识库。然后,可以使用我们自己的自定义脚本来拉动子模块。当您对子模块进行更改时,基本上会记录一条评论,内容为“用户X已修改的文件x,y和z:”。但是,此提交仅在“用户X汇总更改”的基本存储库中注册。因此,当哈德森收集的变化,只是在我们的基础库中的变化被收集,因此,我们没有得到所有的关于每个细节提交将被显示在子模块。

我注意到,在“lastSuccessful”文件夹中有一个“changelog.xml”文件,其中包含来自基础知识库的更改。我已经尝试修改说明/文件列表,但似乎没有更新Hudson显示的“最近更改”。在编写我自己的插件之外,是否有任何方法可以编写我自己的Hudson将接受的更改日志?

例如,我想添加一个构建步骤,在该步骤中,我运行自己的脚本以收集子模块中最近更改的详细列表。然后,我会从该脚本获取输出,并以某种方式将其输入哈德森。但问题是,我在哪里向哈德森提供该输出?或者在这个阶段甚至有可能?

谢谢!

+0

听起来像你可以使用[常春藤](http://ant.apache.org/ivy/)或[Maven](http://maven.apache.org/)或[gradle](http:// www.gradle.org/)来拉你的“子模块”。你会发现他们在哈德森/詹金斯比您定制的脚本更好的支持 – 2011-06-01 20:43:34

回答

0

SCM您使用的是什么?例如在subversion中,你可以在base-project中使用svn:externals来包含其他子模块。我们已经按照这种方式设置了我们的项目,Hudson/Jenkins会很好地显示这些变化。

+1

你应该提一些[使用SVN的问题:外部组件(http://stackoverflow.com/questions/338824/are-subversion-externals在推荐它们之前)。 – 2011-06-01 20:37:36