SonarQube静态代码检查工具环境搭建




参考文档:

安装环境:centos7.4 64bit

安装过程

    1. 安装jdk8:yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel(devel包应该可以不装)
    2. java -version查看版本及确认是否正常安装
    3. yum install postgresql-server,安装postgresql
    4. systemctl enable postgresql,systemctl start postgresql
    5. sudo -s -u postgres,创建数据库账户和库:
      bash-4.2$ psql
      psql (9.2.23)
      Type "help" for help.
      
      postgres=# ALTER USER postgres WITH PASSWORD 'sonarqube';
      
      postgres=# CREATE DATABASE sonar OWNER postgres; 
      CREATE DATABASE
      postgres=# GRANT ALL PRIVILEGES ON DATABASE sonar to postgres;
      GRANT
      postgres=# \q

      修改postgresql认证配置(tcp连接改用password认证方式):

      vi /var/lib/pgsql/data/pg_hba.conf
      
      
      local   all             all                                     peer
      host    all             all             127.0.0.1/32            password
      host    all             all             ::1/128                 password

      最后重启服务:systemctl restart postgresql

    6. 下载sonarqube-6.7.2(首先LTS版本):https://www.sonarqube.org/downloads/
    7. unzip sonarqube-6.7.2.zip(官方提示不要解压缩到绝对路径里包含以数字开头的文件夹里面,比如/data/123/abc这种)
    8. 之后修改sonarqube配置,配置文件在sonarqube-6.7.2/conf/sonar.properties:
      sonar.jdbc.password=sonarqube
      sonar.jdbc.url=jdbc:postgresql://localhost/sonar
      sonar.jdbc.username=postgres
      sonar.web.context=/sonar
      sonar.web.host=0.0.0.0
      sonar.web.javaOpts=-server -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
      sonar.web.port=8080
    9. useradd sonar:创建sonar用户,sonarqube不能用root用户启动(elasticsearch要求非root用户启动,而sonarqube又默认启用这个elasticsearch插件)
    10. chown sonar.sonar -R sonarqube-6.7.2:修改目录所属用户,防止无法写入日志导致启动失败等问题
    11. su sonar,进入sonar用户进行操作
    12. cd sonarqube-6.7.2/bin/
    13. ./sonar.sh start启动
    14. 打开浏览器输入:http://IP:8080/sonar(根据上面的sonar.web.port=8080、sonar.web.context=/sonar确定端口号和URL后缀),默认用户名密码是admin、admin
    15. 之后根据官方文档进行python代码静态检查环境的下一步配置即可