SonarCloud集成指南

本文向大家介绍如何在Apache ServiceComb中集成SonarCloud。

步骤

  1. 首先你是Github的Apache组织的成员。
  2. 用你的Github账号登录 sonarcloud.io
  3. Jira Infrastructure 创建一个JIRA请求在SonarCloud中创建项目,样式可参考这个。在这个JIRA中要提供仓库的Github地址,project-key(在SonarCloud中唯一表示你项目的ID),作为项目Admin的Github账号,一般来说就是你自己。
  4. 等待INFRA团队替你创建项目。然后你能在SonarCloud中看到了。
  5. 根据SonarCloud中的指示修改你的.travis.yml

关于浅克隆

Travis默认使用浅克隆,而 SonarCloud需要commit信息,因此你需要禁用浅克隆:

git:
  depth: false

关于PR

因为Travis不支持在PR中启用SonarCloud集成,因此你需要对构建脚本做类似下面的改动:

echo "TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST"
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
  echo "Not a pull request build, running build with sonar"
  mvn ... sonar:sonar -Dsonar.projectKey=<project-key>
else
  echo "Pull request build or local build"
  mvn ...
fi;

参考资料