SonarQube v7.9 起,不再支持 JDK11 以下版本
SonarQube v7.8 起,不再支持 MySQL
SonarQube 整个架构包含 4 个组件:
SonarQube 服务端:包含 Web 服务界面、elasticsearch 搜索引擎、计算引擎三个主要部分
SonarQube 数据库:默认内嵌数据库,并支持 Oracle、PostgreSQL 和 Microsoft SQLServer 数据库
SonarQube 插件:包括语言、SCM、集成、身份验证和治理插件等
SonarScanner 客户端:开发人员或持续集成服务器通过 SonarScanner 进行项目代码分析
https://docs.sonarqube.org/8.9/
解压安装 1 2 3 4 wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.9.56886.zip unzip sonarqube-8.9.9.56886.zip mv sonarqube-8.9.9.56886 /app/service/sonarqubemkdir -pv /app/{data,logs,tmp}/sonarqube
配置文件 grep -Ev “^$|#” /app/service/sonarqube/conf/sonar.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 vi /app/service/sonarqube/conf/sonar.properties sonar.jdbc.username=sonarqube sonar.jdbc.password=password sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=pubilc sonar.web.host=0.0.0.0 sonar.web.context=/sonarqube sonar.web.port=9000 sonar.path.data=/app/data/sonarqube sonar.path.logs=/app/logs/sonarqube sonar.path.temp=/app/temp/sonarqube
多个 JDK 版本需要修改配置
1 2 vi /app/service/sonarqube/conf/wrapper.conf wrapper.java.command=/app/service/jdk11/bin/java
修改内置 ES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 vi /app/service/sonarqube/elasticsearch/config/elasticsearch.yml cluster.name: sonar-es node.name: es-01 network.host: 0.0.0.0 http.port: 9200 xpack.security.enabled: false discovery.type: single-node http.cors.enabled: true http.cors.allow-origin: "*"
ES 使用 JDK11
1 2 3 4 5 6 7 8 9 vi /app/service/sonarqube/elasticsearch/bin/elasticsearch export JAVA_HOME=/app/service/jdk11export PATH=$JAVA_HOME /bin:$PATH if [ -x "$JAVA_HOME /bin/java" ]; then JAVA="/app/service/jdk11/bin/java" else JAVA=`which java` fi
服务启停 1 2 3 4 5 6 7 8 9 10 /app/service/sonarqube/bin/linux-x86-64/sonar.sh console /app/service/sonarqube/bin/linux-x86-64/sonar.sh start /app/service/sonarqube/bin/linux-x86-64/sonar.sh stop /app/service/sonarqube/bin/linux-x86-64/sonar.sh restart ln -s /app/service/sonarqube/bin/linux-x86-64/sonar.sh /usr/bin/sonar
Docker 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 docker volume create --name sonarqube_data docker volume create --name sonarqube_logs docker volume create --name sonarqube_extensions docker run --rm \ -p 9000:9000 \ -v sonarqube_extensions:/opt/sonarqube/extensions \ <image_name> docker run -d --name sonarqube \ -p 9000:9000 \ -e SONAR_JDBC_URL=... \ -e SONAR_JDBC_USERNAME=... \ -e SONAR_JDBC_PASSWORD=... \ -v sonarqube_data:/opt/sonarqube/data \ -v sonarqube_extensions:/opt/sonarqube/extensions \ -v sonarqube_logs:/opt/sonarqube/logs \ <image_name>
相关配置 启动以后浏览器访问 http://192.168.254.100:9000,默认用户名密码为:admin、admin,手首次登录需要修改
界面汉化 登录后, 打开 Administration → Marketplace,搜索 chinese pack,点击 install;
离线安装需要先去下载汉化文件 并放到软件根目录下 extensions/plugins/ 文件夹里