2015-11-03 59 views
10

看起来Build Breaker Plugin不再与SonarQube 5.2兼容。如果Sonar门没有完成或者是否有计划将Build Breaker插件更新到5.2,是否还有其他方法可以使VSO构建失败?使用SonarQube 5.2构建断路器插件

+1

这一点是在SonarQube的谷歌组上讨论的:https://groups.google.com/d/msg/sonarqube/gR07SqqpAyQ/ulN2wdO4EQAJ –

回答

11

没有(现在)这将打破建立在质量门我以前不传递SonarQube 5.2任何插件。

但SonarQube 5.3+可以再次使用Build Breaker插件。


从邮件列表:

Breaking the build in SonarQube 5.2(21月/ 10月/ 2015年)

Fabrice Bellingrad:本Build Breaker Plugin 将无法​​使用SQ 5.2+。这个想法是开发一个核心特性 来回答此插件以前的用例。这是 就是我们所说的“如果”功能=> https://jira.sonarsource.com/browse/SONAR-6763

这个问题SONAR-6763计划于SonarQube 6.X

+0

请注意,该发布日期可能会移动。 :) –

+4

这非常令人失望。我们依靠这个作为我们持续集成的一部分。是否有理由删除有用的功能? – jbarrus

+0

我和你在一起。因此,我们不会升级到5.2。在构建持续集成平台时,这是一项必备功能! –

2

在SonarQube 5.2,我们发现在Web服务/api/events的使用替代方式。


请求例如:

https://<sq-host>/api/events?categories=Alert&resource=<project_key> 

响应例如:

<events> 
    <event> 
     <id>50411</id> 
     <name>Red (was Green)</name> 
     <resourceKey>project_key</resourceKey> 
     <category>Alert</category> 
     <date>2015-09-29T22:38:44+0200</date> 
     <description>New Critical issues > 0 since previous analysis (2015 Sep 23), New Major issues > 0 since previous analysis (2015 Sep 23), New issues > 0 since previous analysis (2015 Sep 23)</description> 
    </event> 
    .... 
</events> 

检测项目的红色状态:

要验证红色状态,您需要找到event,并在events列表中找到最高id值,然后验证此事件的nameRed开始,如果您发现它,则需要构建失败。

这样的验证可以在SQ步骤后使用额外的命令行步骤在CI服务器上完成,也可以从构建自动化系统(如MavenGradle)完成。


由于缺乏空闲时间,我们还没有在我们的项目中实施这种解决方法,但我们将在不久的将来做到这一点。

提出的解决方案应仅作为解决方法,直到问题SONAR-6763将完成。

+1

附加命令行步骤始终在* Sonar之前运行,因此无法使用。 – mirabilos

2

随着SonarQube 5.3引入了一个新的Quality Gates Web Service,可以调用并用于打破构建。

打破CI建立一个失败的质量门,使用WS API调用在循环中等待,直到处理完毕后,再检查质量门Web服务:

  • 呼叫分析的ceTaskUrl和检查“状态”值:
    • PENDING或IN_PROGRESS - 再次检查后
    • 失败或取消 - 打破建立?
    • 的成功 - 前进
  • 通话质量门web服务状态

我还添加了一个issue to enhance the VSTS Tasks with an option to automatically call this service

更新:一个recent PR添加了这个功能,将VSTS任务(尚未公布)

+2

你只说“可以使用”,但请描述* how *。 – mirabilos

+0

请参阅我提到的[打破CI构建](http://docs.sonarqube.org/display/SONAR/Breaking+the+CI+Build)或[VSTS任务实现](https:// github。 com/Microsoft/vso-agent-tasks/tree/master/Tasks/SonarQubePostTest)为例。我不认为声呐发布了关于这方面的进一步文件。否则,你应该直接询问他们是否需要进一步的帮助。 –