2011-04-21 22 views
1

目前,我的团队正在使用Jenkins来执行由SVN更改触发的自动构建。一个詹金斯的工作可以处理两种类型的构建?

最近,我们决定我们想要使用Sonar。我们不希望每个快照构建都会发生sonar/hudson集成。我们只是每周需要一次。

我们的团队使用clean deploy -U而不是clean deploy site-deploy -U,所以仅仅使用定期构建来触发声纳是不够的,因为它不会从构建中获得站点信息(如三叶草报告)。

我的问题是,在一项工作中,是否有可能将不同的目标与不同的构建时间相关联?我可能不是非常清楚。我可以将clean deploy -U关联到由SVN更改触发的构建,但将“clean deploy site-deploy -U”关联到由定期构建触发的构建?

是我唯一的选择,

说服大家有与每一个快照构建网站部署(从而有更多的时间)

OR

2.创建每周构建新工作?

回答

1

我在过去的工作中有类似的经验,在这里下面是我如何解决这个问题。

只为工具,一点点的设置,你将需要:

  1. Jenkins Sonar Plugin

我们面临的问题是,我们应该运行构建具有更多的测试,这使建造时间要长得多,这会降低下载我们正在制作的工具的实时测试。类似于你面临的情况。我们决定做的是创建两个版本,一次是为了与开发人员快速交替,一个是花费更长的时间,一周运行一次,但是根据您的情况,您可以简单地使用Sonar插件设置来解决您的问题,您可以通过手动构建或SCM民意测验触发它。

有一些设置可以控制Sonar在版本上运行时,一旦你安装了插件,进入配置系统。

enter image description here

我希望这是有益的,但它应导致只有一个版本所期望的行为。 :)

+0

这就是我决定与周刊合作的周刊。 – AHungerArtist 2011-04-22 14:18:37

1

我不熟悉声纳以及如何调用您的构建,所以我不确定这个答案是您要找的。

您可以使用Release build pluginParameterized Build来选择不同的命令来运行,具体取决于调用构建的方式。创建发布版本时,可以在正常构建之前和/或之后使用不同的命令。发布版本通常是手动触发的,但您可以通过Hudson CLI或API在外部调用它。创建参数化版本时,可以检查环境变量(传递给版本的参数)以选择应该运行的命令。

不久前在Jenkins用户邮件列表上有a similar question,它可能提供了一些关于如何使用参数化版本运行不同命令的附加信息。

+0

我不确定这是否适用于我,但我会进一步调查。我从来没有和哈德森一起做过很多工作,所以无论如何这都会有所帮助。 – AHungerArtist 2011-04-21 19:29:57