参考文档:
- https://docs.sonarqube.org/display/SONAR/Requirements
- https://docs.sonarqube.org/display/SONAR/Installing+the+Server
安装环境:centos7.4 64bit
安装过程
-
- 安装jdk8:yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel(devel包应该可以不装)
- java -version查看版本及确认是否正常安装
- yum install postgresql-server,安装postgresql
- systemctl enable postgresql,systemctl start postgresql
- sudo -s -u postgres,创建数据库账户和库:
1234567891011bash-4.2$ psqlpsql (9.2.23)Type "help" for help.postgres=# ALTER USER postgres WITH PASSWORD 'sonarqube';postgres=# CREATE DATABASE sonar OWNER postgres;CREATE DATABASEpostgres=# GRANT ALL PRIVILEGES ON DATABASE sonar to postgres;GRANTpostgres=# \q
修改postgresql认证配置(tcp连接改用password认证方式):
123456vi /var/lib/pgsql/data/pg_hba.conflocal all all peerhost all all 127.0.0.1/32 passwordhost all all ::1/128 password
最后重启服务:systemctl restart postgresql - 下载sonarqube-6.7.2(首先LTS版本):https://www.sonarqube.org/downloads/
- unzip sonarqube-6.7.2.zip(官方提示不要解压缩到绝对路径里包含以数字开头的文件夹里面,比如/data/123/abc这种)
- 之后修改sonarqube配置,配置文件在sonarqube-6.7.2/conf/sonar.properties:
1234567sonar.jdbc.password=sonarqubesonar.jdbc.url=jdbc:postgresql://localhost/sonarsonar.jdbc.username=postgressonar.web.context=/sonarsonar.web.host=0.0.0.0sonar.web.javaOpts=-server -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryErrorsonar.web.port=8080 - useradd sonar:创建sonar用户,sonarqube不能用root用户启动(elasticsearch要求非root用户启动,而sonarqube又默认启用这个elasticsearch插件)
- chown sonar.sonar -R sonarqube-6.7.2:修改目录所属用户,防止无法写入日志导致启动失败等问题
- su sonar,进入sonar用户进行操作
- cd sonarqube-6.7.2/bin/
- ./sonar.sh start启动
- 打开浏览器输入:http://IP:8080/sonar(根据上面的sonar.web.port=8080、sonar.web.context=/sonar确定端口号和URL后缀),默认用户名密码是admin、admin
- 之后根据官方文档进行python代码静态检查环境的下一步配置即可