我想使用SonarQube来分析对我的项目进行的任何拉取请求(PR).
几点快点:
我的项目是在Github上托管的,它是公共的,是用C#编写的,我正在使用Appveyor进行持续集成(CI);
我使用SonarCloud(的公共实例SonarQube)代码质量检查,而且它已经做了出色的工作,分析内部的PR(即从主存储库时,减贫战略例如,合并dev
分支master
的分支);
我希望这可以分析外部PR(即,我的项目的任意分叉的PR),这可以使用SonarQube Github插件 ;
最重要的是:我不会将我的API密钥放在任何公共文件上,而Appveyor也不会在公共PR上暴露我的安全令牌.
鉴于这些要点,这就是我所做的:
创建了一个机器人,并给了我对我的仓库的写入权限(如这里所解释的);
在sonarcloud和under Administration -> Settings -> Pull Requests (Alpha)
,我设置Authentication token
机器人的令牌,并Repository identifier
以
格式设置我的回购地址;
更新appveyor.yml
我的项目文件,以便对所有PR运行SonarQube分析; 类似如下:
build_script: choco install "msbuild-sonarqube-runner" -y MSBuild.SonarQube.Runner.exe begin /k:"REPO" /o:"ORGANIZATION" /d:"sonar.host.url=https://sonarcloud.io" /d:"sonar.analysis.mode=preview" MSBuild.exe /t:Rebuild MSBuild.SonarQube.Runner.exe end
但是,我仍然没有看到SonarQube使用机器人评论新的PR(类似于他们的演示.