SonarCloud集成指南
本文向大家介绍如何在Apache ServiceComb中集成SonarCloud。
步骤
- 首先你是Github的Apache组织的成员。
- 用你的Github账号登录 sonarcloud.io。
- 在 Jira Infrastructure 创建一个JIRA请求在SonarCloud中创建项目,样式可参考这个。在这个JIRA中要提供仓库的Github地址,project-key(在SonarCloud中唯一表示你项目的ID),作为项目Admin的Github账号,一般来说就是你自己。
- 等待INFRA团队替你创建项目。然后你能在SonarCloud中看到了。
- 根据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;