首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SonarCloud分析拉请求

使用SonarCloud分析拉请求
EN

Stack Overflow用户
提问于 2018-02-15 19:55:47
回答 2查看 2.4K关注 0票数 8

我想使用SonarQube来分析向我的项目提出的任何拉请求(PR)。

几个快速要点:

  • 我的项目是托管在Github上的,它是公开的,是用C#编写的,我正在使用承办人进行持续集成(CI);
  • 我使用SonarCloud (SonarQube的一个公共实例)进行代码质量检查,它已经完成了对内部 PRs (即从主存储库生成的PRs,例如master分支上的合并dev分支)的出色分析;
  • 我希望这样分析外部PRs (即,从我的项目的任意分支中生成的PRs ),这是可以使用SonarQube Github插件的;
  • 最重要的是:我不会将我的API密钥放在任何公共文件上,Appveyor也不会在公共PRs上公开我的安全令牌。

考虑到这几点,我就是这样做的:

  • 创建了一个机器人,并给予它对我的回购的写访问权限(如解释的这里);
  • 在声纳云中和Administration -> Settings -> Pull Requests (Alpha)下,我用机器人的令牌设置Authentication token,并以<Organization>/<Repo>格式设置带有回购地址的Repository identifier
  • 更新我的项目的appveyor.yml文件,以便对所有PRs运行SonarQube分析;类似于以下内容:
代码语言:javascript
复制
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使用bot来评论新的PRs (类似于他们的演示 )。

EN

回答 2

Stack Overflow用户

发布于 2018-02-16 08:45:20

您要激活的功能还没有准备好使用--这就是为什么它被命名为"Alpha“(Administration -> Settings -> Pull Requests (Alpha))。

在任何情况下,即使这个特性已经准备好了,虽然这将保护您的GitHub令牌,因为您只将它保存在SonarCloud上(这很棒),但是您仍然需要提供SonarCloud令牌来执行分析。而且,由于您不想公开您的SonarCloud令牌,您将无法分析外部拉请求。不幸的是,我们目前没有解决这一限制的解决办法。

票数 1
EN

Stack Overflow用户

发布于 2018-07-18 19:29:05

我不会将我的API密钥放在任何公共文件上,Appveyor也不会在公共PRs上公开我的安全令牌。

为了解决这个问题,您只需使用https://ci.appveyor.com/tools/encrypt在appveyor中加密令牌即可。

并将该加密值复制到appveyor.xml文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48815239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档