我公司的代码库已经很大了。但我们正努力通过此处的代码来提高质量。
我正在寻找一种方法,在传递现有代码库的同时为新更改的代码强制执行代码标准。
目前我有Jenkins作为CI工具,sonarqube作为协调器,可以插入resharper和stylcop。
但是,sonarqube目前只制作一份报告。
从现在开始,如果违反标准或不稳定,构建必须失败。它只能在CI工具级别完成吗?执行标准的方法是什么?
我的方案是否有替代或更好的方法?
答案 0 :(得分:1)
您的方案正是为Teamscale构建的方案:接受遗留问题并专注于新代码或修改代码中的问题。由于Teamscale作为服务器运行并进行增量分析,因此您不必等待结果或触发任何分析。它还允许您配置度量标准阈值和质量目标,可用于确定构建是否应该中断。它还有一个记录良好的REST-API,因此可以轻松连接到Jenkins。
答案 1 :(得分:0)
你应该可以使用
https://github.com/exussum12/coverageChecker
进行离线检查。这是用PHP编写的(因此在CI服务器上需要PHP),但支持其他报告的许多标准。
这将获取完整报告,而diff只显示已更改的行上的错误。
因此,如果您更改不符合要求的行,则需要在提交之前确定其不符合标准的原因。
所有新代码必须符合您以这种方式设置的标准