作者:清潇静凌 | 来源:互联网 | 2023-08-11 16:46
背景:之前我们公司的Jenkins里有很多发布job,其中有些集成了sonar代码扫描,但是有些没有,同时在运行代码扫描的时候,配置的命令也不太相同。某天一个同学跟我说我的sona
背景:
之前我们公司的Jenkins里有很多发布job,其中有些集成了sonar代码扫描,但是有些没有,同时在运行代码扫描的时候,配置的命令也不太相同。某天一个同学跟我说我的sonar命令写的不合理,让我排查一下所有配置了sonar的job。
思路:
一开始想直接从网页上点开每个job去检查,结果发现。。。太多了。。。浪费时间,于是放弃
之后发现每个集成了sonar的job的构建脚本都有一定的共同点。就是都在命令后有 sonar:sonar
接下来想起来好像每个job在文件系统里都有一个对应的文件夹,应该可以从这里下手
于是查到了Jenkins默认的job路径:~/.jenkins 里面的jobs文件夹
打开一个job的config.xml我们可以找到在页面配置的脚本
接下来的思路就是利用find命令来查找所有符合条件的config.xml 这样就能获取到集成sonar的job了
find /home/hudson/.jenkins/jobs -name config.xml|xargs grep 'sonar:sonar'
结果如下
这样找到对应的job名就可以了