docker安装部署sonarqube7.8
本文档是postgresql14.2+sonarqube7.8+JDK1.8
1、docker安装postgresql
查询postgresql镜像 docker search postgres
NAME --镜像名称
DESCRIPTION --镜像描述
STARS --标星数
OFFICIAL --官方的
AUTOMATED – 自动化
docker pull postgres:14.2
docker run --name postgres \
--restart=always \
-e POSTGRES_PASSWORD=****** \
-p 5432:5432 \
-v /data/postgresql:/var/lib/postgresql/data \
-d postgres:14.2
2、docker安装sonarqube
docker pull sonarqube:7.8-community
#执行前 xxx.xxx.xxx.xxx 修改为服务器IP地址,并且需要提前在数据库中手动创建 sonar 数据库,这里mysql版本需要在5.x到8.x之间
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql:mysql -e SONARQUBE_JDBC_USERNAME=root -e SONARQUBE_JDBC_PASSWORD=***** -e SONARQUBE_JDBC_URL="jdbc:mysql://xxx.xxx.xxx.xxx:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube:7.8-community
postgresql启动:根据实际用户名
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=postgres:postgres \
-e SONARQUBE_JDBC_URL="jdbc:postgresql://xxx.xxx.xxx.xxx:5432/postgres" \
-e SONARQUBE_JDBC_USERNAME=postgres \
-e SONARQUBE_JDBC_PASSWORD=***** \
sonarqube:7.8-community
3、sonarqube安装中文汉化包
1)下载汉化包
首先根据自己sonarqube的版本,选择对应版本的汉化包,可通过以下的链接进行下载
https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.28/sonar-l10n-zh-plugin-1.28.jar
我安装的sonarqube7.8多以对应的汉化包版本是1.2.8,也可自行对应查找下载。
2)将汉化包上传到服务器
将下载的 sonar-l10n-zh-plugin-1.28.jar 文件上传到服务器 /data 目录中。(/data目录可根据需要自行修改)
3)文件授权
说明:需要给新上传到服务器的jar授权,有些情况上传完权限默认是只读的,会导致容器启动时报错。
chmod` `777 ``/data/sonar-l10n-zh-plugin-1``.28.jar
4)将jar文件上传到sonarqube的docker容器对应目录中
docker ``cp` `/data/sonar-l10n-zh-plugin-1``.28.jar sonarqube:``/opt/sonarqube/extensions/plugins/
路径说明:
/data/sonar-l10n-zh-plugin-1.28.jar 为linux服务器中jar文件地址
/opt/sonarqube/extensions/plugins/ 为docker中sonarqube软件存放插件的文件目录
补充说明:
sonarqube容器中的 /opt/sonarqube/extensions/plugins/ 路径如何查找及如何确认jar文件是否上传成功。
#1、确认sonarqube容器在运行``docker ``ps``
#2、进入sonarqube容器``docker ``exec` `-it sonarqube ``bash``
#3、查询配置SONARQUBE_HOME的位置 (可以得知位置为 /opt/sonarqube)``echo` `$SONARQUBE_HOME``
#4、查看jar是否成功上传到sonarqube容器的/opt/sonarqube/extensions/plugins/目录中``cd` `/opt/sonarqube/extensions/plugins/``ls
5)重启sonarqube容器
docker restart sonarqube
6)浏览器中访问
访问链接:http://xxx.xxx.xxx.xxx:9000 (xxx.xxx.xxx.xxx 为部署sonarqube的服务器IP)
默认用户名:admin
默认密码:admin
4、SpringBoot添加maven上传
1) 在maven的settings.xml中添加
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://***.***.****.****:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
2)工程 pom.xml 配置插件版本
在待扫描工程的 pom.xml 文件中,添加 build 插件,配置 maven-sonar 插件版本:
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>