一个Jenkins工作可以处理两种类型的构建吗?

时间:2011-04-21 17:48:51

标签: hudson build-automation jenkins sonarqube

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

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

我们的团队使用clean deploy -U代替clean deploy site-deploy -U,因此仅使用定期构建来触发声纳是不够的,因为它不会拥有构建中的站点信息(例如三叶草报告) )。

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

是我唯一的选择

1。说服每个人在每次快照构建时进行网站部署(从而花费更多时间)

OR

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

2 个答案:

答案 0 :(得分:1)

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

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

Jenkins用户邮件列表上不久前有a similar question可能会提供一些有关如何使用参数化构建运行不同命令的其他信息。

答案 1 :(得分:1)

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

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

  1. Jenkins Sonar Plugin
  2. 我们遇到的问题是我们应该使用更多的测试运行构建,这会使构建时间更长,这会减慢我们正在制作的工具的实时测试速度。类似于你面临的情况。我们决定做的是创建两个版本,一次用于与开发人员一起快速转换,一次用一周运行一次,但是根据你的情况,你可以简单地使用Sonar插件设置来解决你的问题,你可以让它由手动构建或SCM民意调查触发。

    在构建上运行Sonar时,您可以控制设置,一旦安装了插件,就转到配置系统。

    enter image description here

    我希望这会有所帮助,但它只会导致只有一个构建的所需行为。 :)