温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SonarQube出现"Not inside a git worktree" 怎么解决

发布时间:2021-06-25 11:59:38 来源:亿速云 阅读:664 作者:chen 栏目:编程语言

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

解决办法

设置参数 -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" 怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI