Continuous integration 在Jenkins中安排特定的构建目标?
我所在的团队已经对Jenkins进行了持续集成构建的标准化。代码签入触发标准构建、Cobertura分析并发布到Artifactory快照repo。我刚刚在主构建文件中添加了一个新目标,这将启动声纳运行,但我不希望每次签入时都运行 有没有办法在Jenkins安排一个特定构建目标的夜间构建?Jenkins显然促进了计划的构建,但每次都会运行项目的常规构建。我希望能够安排声纳构建目标每晚运行Continuous integration 在Jenkins中安排特定的构建目标?,continuous-integration,hudson,jenkins,sonarqube,Continuous Integration,Hudson,Jenkins,Sonarqube,我所在的团队已经对Jenkins进行了持续集成构建的标准化。代码签入触发标准构建、Cobertura分析并发布到Artifactory快照repo。我刚刚在主构建文件中添加了一个新目标,这将启动声纳运行,但我不希望每次签入时都运行 有没有办法在Jenkins安排一个特定构建目标的夜间构建?Jenkins显然促进了计划的构建,但每次都会运行项目的常规构建。我希望能够安排声纳构建目标每晚运行 当然,我可以创建一个单独的Jenkins项目,以便按计划运行声纳目标,但如果可以的话,我会尽量避免。我们的J
当然,我可以创建一个单独的Jenkins项目,以便按计划运行声纳目标,但如果可以的话,我会尽量避免。我们的Jenkins服务器已经有几百个版本了;为了安排夜间构建而将其加倍不是很理想。我寻找了一个Jenkins插件,它可能有助于实现这一点,但我找不到任何东西。有什么建议吗?如果您可以使用
cron
或其他调度工具触发构建,那么这里有一种方法:
- 进行构建,并在构建文件中使用一个参数来决定Sonar构建目标是否应该运行
- 通过HTTP POST:ing将参数值作为表单发送到
,远程触发生成。根据Jenkins的版本和配置,您可能需要添加一个并将其包含在url中HTTP://[jenkins host]/jobs/[jobname]/buildWithParameters
- 使用用户名和密码验证您的帖子
wget--auth no challenge--http user=USERNAME--http password=password“https://[jenkins host]/job/[jobname]/buildWithParameters?token=&=&=“
- 条件BuildStep插件-这允许有条件地运行声纳分析
- Jenkins环境注入器插件-这允许您注入变量以指示如何触发构建
- 我也在寻找解决方案。我目前的解决方案是在常规构建中创建两个触发器,一个是夜间构建,另一个是轮询SCM
在sonar插件配置中,它可以选择跳过SCM更改触发的构建。因此,只有夜间构建才会开始声纳分析
我现在没有机会测试它,但我想这会有用的
2011年12月19日更新
如果将sonar分析作为独立的构建步骤调用,则上述解决方案不起作用。要有条件地运行声纳分析,可以使用以下2个插件:
+我也看不到更好的办法。我也会对更好的解决方案感兴趣。