本篇内容主要讲解“SonarQube出现"Not inside a git worktree" 怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SonarQube出现"Not inside a git worktree" 怎么解决”吧!
设置参数 -Dsonar.scm.disabled=true
为了实施新增代码质量门禁,需要使用SonarQube对一个maven工程的代码进行分析。过程中报错,信息里有关键字"Not inside a git worktree"。
那个目录确实不是一个git worktree,但是,要配合teamcity的原因,我也没办法给整个git worktree目录。
Google搜索上面的关键字,第一个结果就是解决这问题的,说要设置sonar.projectBaseDir和sonar.sources。显然,设置了之后问题依然存在。
另一个maven工程执行sonar扫描没出问题,于是对比了一下两个工程设置的不同。
出错的工程是一个早期SpringBoot工程,父pom是SpringBoot。正确的工程父pom是我们自己的,里面进行了sonar配置。
过了一遍我们自己的父pom里sonar相关配置,把自己感觉可能有影响的配置都加到命令行里,还是没能解决问题。
没招了,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
设置上去,开始执行,果然有效……之前开始执行就报错,加上之后跑了三分钟还没出错。虽然没跑出结果,迫不及待的开始宣布自己解决了问题。
然后,惨招打脸:跑了一段时间还是出错了,又是"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" 怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。