SonarQube出现"Notinsideagitworktree"怎么解决

本篇内容主要讲解“SonarQube出现"Not inside a git worktree" 怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SonarQube出现"Not inside a git worktree" 怎么解决”吧!

创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南和企业提供专业的成都网站建设、网站建设,南和网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

解决办法

设置参数 -Dsonar.scm.disabled=true

过程吐槽

0、起因

为了实施新增代码质量门禁,需要使用SonarQube对一个maven工程的代码进行分析。过程中报错,信息里有关键字"Not inside a git worktree"。

那个目录确实不是一个git worktree,但是,要配合teamcity的原因,我也没办法给整个git worktree目录。

1、Google

Google搜索上面的关键字,第一个结果就是解决这问题的,说要设置sonar.projectBaseDir和sonar.sources。显然,设置了之后问题依然存在。

2、对比pom文件

另一个maven工程执行sonar扫描没出问题,于是对比了一下两个工程设置的不同。
出错的工程是一个早期SpringBoot工程,父pom是SpringBoot。正确的工程父pom是我们自己的,里面进行了sonar配置。
过了一遍我们自己的父pom里sonar相关配置,把自己感觉可能有影响的配置都加到命令行里,还是没能解决问题。

3、柳暗花明

没招了,mvn命令里加上-X,对比出错的日志和正常的日志。

终于有所发现,出错的日志开始报错的地方,正常的日志里输出了一句debug:“File exclusion based on SCM ignore information is not available with this plugin”。

SCM ignore了所以正常跑,没ignore就报"Not inside a git worktree"。
emmm,008表示这很符合逻辑。

Goolge sonar SCM File exclusion,找到了 -Dsonar.scm.exclusions.disabled=true

4、峰回路转

设置上去,开始执行,果然有效……之前开始执行就报错,加上之后跑了三分钟还没出错。虽然没跑出结果,迫不及待的开始宣布自己解决了问题。

然后,惨招打脸:跑了一段时间还是出错了,又是"Not inside a git worktree"。

继续看日志,报错之前输出日志“SCM Publisher SCM provider for this project is: git”。

这SCM provider是啥?怎么disable?
Google sonar scm provider disable,第一条就是答案:-Dsonar.scm.disabled=true。

问题解决

到此,相信大家对“SonarQube出现"Not inside a git worktree" 怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:SonarQube出现"Notinsideagitworktree"怎么解决
路径分享:http://myzitong.com/article/ieghpi.html