目前,我的团队正在使用Jenkins进行由SVN更改触发的自动构建。
最近,我们决定使用Sonar。我们不希望每个快照构建都发生声纳/哈德森集成。我们只想每周一次。
我们的团队使用clean deploy -U
代替clean deploy site-deploy -U
,因此仅使用定期构建来触发声纳是不够的,因为它不会拥有构建中的站点信息(例如三叶草报告) )。
我的问题是,在一项工作中,是否可以将不同的目标与不同的构建时间相关联?我可能不是很清楚。我可以将clean deploy -U
关联到SVN更改触发的构建,但是将“clean deploy site-deploy -U”关联到由定期构建触发的构建吗?
是我唯一的选择
1。说服每个人在每次快照构建时进行网站部署(从而花费更多时间)
OR
2. 为每周构建创建一个新作业?
答案 0 :(得分:1)
我不熟悉声纳以及你如何调用你的构建,所以我不确定这个答案是你正在寻找的。
您可以使用Release build plugin或Parameterized Build来选择要运行的不同命令,具体取决于如何调用构建。创建发布版本时,可以在正常构建之前和/或之后执行不同的命令。发布版本通常是手动触发的,但您可以通过Hudson CLI或API从外部调用它。创建参数化构建时,可以检查环境变量(传递给构建的参数)以选择应运行的命令。
Jenkins用户邮件列表上不久前有a similar question可能会提供一些有关如何使用参数化构建运行不同命令的其他信息。
答案 1 :(得分:1)
我在过去的工作中有类似的经验,下面是我如何解决这个问题。
只需设置一些您需要的工具:
我们遇到的问题是我们应该使用更多的测试运行构建,这会使构建时间更长,这会减慢我们正在制作的工具的实时测试速度。类似于你面临的情况。我们决定做的是创建两个版本,一次用于与开发人员一起快速转换,一次用一周运行一次,但是根据你的情况,你可以简单地使用Sonar插件设置来解决你的问题,你可以让它由手动构建或SCM民意调查触发。
在构建上运行Sonar时,您可以控制设置,一旦安装了插件,就转到配置系统。
我希望这会有所帮助,但它只会导致只有一个构建的所需行为。 :)