Suneo Wong

尝试一切可能!

Sonar:搭建Sonar7.9.x LTS服务器

Sonar 0 评 24 度

在公司转岗做测开了,估计2021年上半年的工作都在自动构建上面,下半年估计忙自动化测试脚本开发和维护。

大体上,由于公司项目都是安卓系统源码工程,自动构建选了Jenkins+Gerrit+SonarQube等开源工具来实现。

现在主要讲讲怎么搭建SonarQube服务器:

  • 首先准备一台Ubuntu服务器,建议直接购买刀片机,安全又稳定(预算有限直接上台台式主机也可以)。

1)下载一些文件:

2)先安装数据库PostgreSQL(这个是Sonar唯一支持的开源DB,MS-SQL&Oracle都是收费的),命令:

sudo apt install PostgreSQL

然后对数据库进行简单的配置:

  • 创建用户postgres,命令:

    sudo -i -u postres

  • 输入以下命令进入交互界面:

    psql -u postres

  • 在交互界面输入以下命令修改默认密码:

    alter user postres with password '你的数据库账户密码';

  • 继续输入以下命令创建数据库:

    CREATE DATABASE sonar;

  • 输入以下命令退出设置:

    q

  • 输入exit退出postres账户
  • 将数据库信息写入到sonar的配置文件 $SONARQUBE-HOME/conf/sonar.properties:

    sonar.jdbc.username=postgres
    sonar.jdbc.password=你的密码
    sonar.jdbc.url=jdbc:postgresql://localhost/sonar

3)配置JDK路径到sonar配置文件$SONARQUBE-HOME/conf/wrapper.conf ,将以下行改为:
wrapper.java.command=你的JDK11绝对路径

4)把下载的CXX检查的jar包放入$SONARQUBE-HOME/extensions/plugins下

5)使用$SONARQUBE-HOME/bin/linux-x86-64/sonar.sh start启动sonar服务器, 出现以下字样代表启动成功(不能使用root权限启动):

Starting SonarQube...
SonarQube is already running.

6)浏览器输入 ip:9000 ,就可以看到sonar的主页了。

默认账户/密码:admin/admin

7)安装简体中文包:

① 点击顶部菜单,最后一个配置,
② 点击子菜单“应用市场”,
③ 在插件搜索框中输入“chinese”,安装简体中文插件

一些问题解决方法:
1、启动的时候遇到 Process exited with exit value [es]: 143报错:
解决方法:
在/etc/sysctl.conf文件中加入
vm.max_map_count=262144
fs.file-max=65536
然后执行sysctl -p使配置生效

在 /etc/security/limits.conf后加入
ulimit -n 65536
ulimit -u 2048
然后切换sonar用户下执行ulimit -Hn

$SONARQUBE-HOME/bin/linux-x86-64/sonar.sh restart 重启
2、启动的时候遇到 Process exited with exit value [es]: 1报错:
解决方法:
以普通权限运行,不要以root权限执行

Jenkins:插件下载镜像加速