首页 > 解决方案 > 如何使基于声纳质量门的 GoCD 构建失败?

问题描述

如何使基于声纳质量门的 GO 构建失败?

我希望当网关失败时阶段会失败。是否有任何配置可以使构建失败

在此处输入图像描述

在此处输入图像描述

标签: go-cd

解决方案


根据@moritz 的回答,这对我有用。

我创建了一个 bat 文件,它将检查 SONAR 项目的状态代码,在执行 SONAR 构建后并根据响应的状态,将返回退出代码。

For /F "Delims=" %%A In ('"curl  http://mysonarserver/api/qualitygates/project_status?projectKey=com.mypackage:sampleproject | jq ".projectStatus.status""') Do Set "test=%%~A"
echo %test%
If /I "%test%"=="ERROR" exit -1
If /I "%test%"=="OK" exit 0

在我的例子中,SONAR 服务器会根据构建的状态返回 ERROR 和 OK。

我使用 curl 和 jq 从命令行发出 http 请求并分别解析对 json 的响应。

我必须做一些调整才能让它在 Windows 上运行,希望它也能在 Linux 上运行。

如果需要,您还可以从此脚本中添加对 Sonar 的 Maven 构建的调用。

我希望它有帮助!


推荐阅读