我如何让Sonarcloud运行来自Travis,Maven和github的分叉的拉取请求
在研究我最近与Travis,Maven和github的Sonarcloud失败问题时,我意识到我问错了问题。我试图解决一个症状,而不是潜在的问题。
我从事的一个项目(eclipse/扫描)使用Github作为存储库,Travis与Sonarcloud一起使用,以进行持续集成和代码分析。
虽然Sonarcloud分析在内部拉取请求(从直接推送到eclipse/扫描的分支的拉取请求)上运行良好,但当Travis为外部拉取请求(来自分叉存储库的请求)运行时,它不起作用。
潜在的问题是,我们目前运行sonarcloud的方式依赖于环境变量,出于安全原因,这些变量不会为外部拉取请求填充:
Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
我们将存储库设置为不关心Sonarcloud是否运行,但这意味着我们经常合并破坏sonarcloud规则的更改,因为我们没有意识到它们已被破坏。我们只看到这些规则在下次被直接推送到存储库的人更改时被打破。这将修复Sonarcloud发现的问题的负担从协作者转移到提交者。
VoI
- 有没有办法在不引入安全问题的情况下对来自分叉存储库的拉取请求进行Sonarcloud分析?
请注意,这个问题似乎比Travis公共存储库如何添加一个安全变量更进一步,该变量也适用于尚未找到答案的拉取请求。