1

目前我的团队正在使用 Jenkins 进行由 SVN 更改触发的自动构建。

最近,我们决定要使用 Sonar。我们不希望在每个快照构建中都发生声纳/哈德森集成。我们只想要一周左右一次。

我们的团队使用clean deploy -U而不是clean deploy site-deploy -U简单地使用定期构建来触发声纳是不够的,因为它没有来自构建的站点信息(例如三叶草报告)。

我的问题是,在一项工作中,是否可以将不同的目标与不同的构建时间联系起来?我可能不是很清楚。我可以将 a 关联clean deploy -U到由 SVN 更改触发的构建,但将“干净部署站点部署 -U”关联到由定期构建触发的构建吗?

是我唯一的选择

1.说服每个人在每个快照构建中都进行站点部署(因此需要更多时间)

或者

2.为每周构建创建一个新工作?

4

2 回答 2

1

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

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

不久前在 Jenkins 用户邮件列表上有一个类似的问题,它可能会提供一些关于如何使用参数化构建运行不同命令的额外信息。

于 2011-04-21T18:20:04.533 回答
1

我过去在工作中有类似的经验,下面是我解决问题的方法。

只需对您需要的工具进行一些设置:

  1. 詹金斯声纳插件

我们面临的问题是我们是否应该使用更多测试来运行构建,这会使构建时间更长,从而减慢我们正在制作的工具的实时测试速度。类似于你面临的情况。我们决定做的是创建两个构建,一个用于与开发人员快速周转,另一个需要更长的时间,每周运行一次,但是根据您的情况,您可以简单地使用 Sonar Plugins 设置来解决您的问题,您可以让它由手动构建或 SCM 轮询触发。

有一些设置可以控制 Sonar 在构建上运行的时间,安装插件后,转到配置系统。

在此处输入图像描述

我希望这会有所帮助,但它应该只需要一个构建就可以产生所需的行为。:)

于 2011-04-21T22:13:19.063 回答