自动化运维持续集成(CI)和持续发布(CD)系列·SonarQube

SonarQube是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量,可以检测出项目中的BUG、代码规范和冗余、安全漏洞等问题。

配置数据库

SonarQube需要MySQL数据库,用于保存代码检查结果,因此建议先配置sonarqube所必需的数据库,登录mysql后执行以下sql语句:

部署SonarQube

0x01 安装SonarQube

访问官网下载地址

0x02 配置SonarQube

因sonarqube集成了elasticsearch,因此需要通过普通用户才能启动。

修改/etc/security/limits.conf文件,添加或修改以下内容:

修改/etc/sysctl.conf文件,添加或修改以下内容:

修改/usr/local/sonarqube/conf/sonar.properties文件:

0x03 启动SonarQube

SonarQube支持Linux、Windows、MacOS,在其bin目录中,存放了各操作系统下的启动脚本,以64位Linux操作系统为例:

启动后,登录sonarqube控制台http://10.10.10.201:9000,然后安装插件,如汉化插件、扫描语言插件等。

部署Sonar-Scanner

如果部署Jenkins集成sonar-scanner,可跳过此步骤,直接参考下一步骤。

1x01 安装Sonar-Scanner

访问官网下载地址

Sonar-Scanner同样支持Linux、Windows、MacOS,根据操作系统下载对应的版本,以64位Linux操作系统为例:

1x02 配置Sonar-Scanner

修改/usr/local/sonar-scanner/conf/sonar-scanner.properties文件:

修改/etc/profile环境变量:

然后执行以下命令查看效果:

1x03 测试扫描项目代码

在项目所在文件夹创建文件sonar-project.properties,以Java项目为例:

然后在该目录中执行“sonar-scanner”命令即可。

Jenkins集成SonarQube

插件工作流程:Jenkins (调用) Sonar-Scanner (提交审查结果) SonarQube (保存结果数据) MySQL

2x01 创建Token

登录SonarQube,在用户中心安全页面生成一个Tokens,复制token备用。

2x02 安装插件

登录Jenkins,在插件管理可选插件面板中搜索“sonarqube”,安装“SonarQube Scanner”插件。

然后进入Manage JenkinsGlobal Tool Configuration,在SonarQube Scanner段落中点击“新增SonarQube Scanner”按钮,依次填入相应信息,然后保存。需要注意的是:

  • 勾选 Install automatically
  • 选择相应的SonarQube Scanner版本

2x03 配置密钥

进入凭据全局凭据管理页面,新增一个“Secret text”类型的凭据,Secret内容即此前在SonarQube中创建的token,然后输入描述内容即可。

2x04 配置插件

进入Configure System,在SonarQube server段中点击“Add SonarQube”按钮,输入名称和服务器URL,然后选择对应的“Server authentication token”。

原创文章禁止转载:技术学堂 » 自动化运维持续集成(CI)和持续发布(CD)系列·SonarQube

精彩评论

7+8=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏