go-cd - 如何使基于声纳质量门的 GoCD 构建失败?
解决方案
根据@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 构建的调用。
我希望它有帮助!
推荐阅读
- c# - 使用 Roslyn Source Generator 时弹出“Choose Just-In-Time Debugger”窗口
- json - 从 s3 获取的 splunk 解析 JSON
- c++ - 如何在 C++ 中调用类的随机函数?
- c - C struct 分段错误
- arrays - 在 React-Native 中从 json 向 Flatlist 添加数据时找不到变量
- php - 如何在 laravel 中获取 URL 值?
- sql - 选择供应商的第一个实例,部件组合
- node.js - Websocket NodeJS崩溃
- cypress - 柏树拦截不等待
- github - GitHub 不允许我在我的存储库上为开发分支打开分支保护状态检查,但状态检查正在运行