我正在用Travis和SonarQube.com建立一个项目,当从存储库的分支发出拉请求时,一切都进行得很顺利,但是当Travis从分叉的存储库运行一个拉请求时,它就失败了。
从存储库中提取PR的构建:https://travis-ci.org/PistachoSoft/dummy-calculator/builds/162905730
从分叉存储库中提取PR的构建:https://travis-ci.org/PistachoSoft/dummy-calculator/builds/162892678
存储库:https://github.com/PistachoSoft/dummy-calculator
正如在构建日志中所看到的,这是一个错误:
You're not authorized to execute any SonarQube analysis. Please contact your SonarQube administrator.我试过但没有成功的事情:
我能做些什么来解决这个问题?
发布于 2016-09-27 08:57:29
首先,我提请您注意一个重要的问题:您不应该在PR上运行“标准”SonarQube分析--否则您在SonarQube.com上的项目将被与彼此无关的中间分析“污染”。标准分析只能在主要的开发分支(通常是“主”分支)上执行。请阅读我们的示例项目的runSonarQubeAnalysis.sh文件以了解如何实现该目标。
现在,为什么你的尝试不起作用?仅仅因为SONAR_TOKEN环境变量(在您的YML文件中设置为“安全”)在PR“来自外部世界”(即当它不是您自己的PR时)不会被Travis解码。这是一个安全约束,以防止任何人分叉您的回购,用echo $SONAR_TOKEN更新YML文件,提交PR和genlty等待Travis执行它来发布安全环境变量。
分析“外部”PR是我们不久将致力于的事情,这样就可以简单、直观地实现这一点,并且保证开放源码软件项目能够从这一特性中获益。
https://stackoverflow.com/questions/39712531
复制相似问题