sonarqube安装前环境准备JDK1.8、MySql5.7。
一、JDK安装
1、下载jdk
#打开下面的网址,选择 jdk-8u371-linux-x64.tar.gz 进行下载 (8u371版本可能会有区别,但是没有影响) | |
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
2、安装jdk
#创建安装目录 | |
mkdir /usr/local/java/ | |
#解压至安装目录 | |
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local/java/ |
3、设置环境变量
打开文件
vim /etc/profile |
在文件中末尾添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_371 | |
export JRE_HOME=${JAVA_HOME}/jre | |
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib | |
export PATH=${JAVA_HOME}/bin:$PATH |
使环境变量生效
source /etc/profile |
添加软链接
ln -s /usr/local/java/jdk1.8.0_371/bin/java /usr/bin/java |
查看java版本信息
java -version |
二、MySql安装
1、拉取指定版本MySql
docker pull mysql:5.7 |
2、创建数据及配置文件挂载目录
#创建挂载目录 | |
mkdir -p /data/docker/mysql5.7 | |
#授予最高权限 | |
chmod -R 777 /data |
3、运行MySql
# -v 宿主机的被挂载路径:容器内需要挂载的路径 | |
docker run -itd -p 3306:3306 --name mysql5.7 \ | |
--restart=always \ | |
-v /data/docker/mysql5.7/conf:/etc/mysql/mysql.conf.d \ | |
-v /data/docker/mysql5.7/log:/var/log/ \ | |
-v /data/docker/mysql5.7/data:/var/lib/mysql \ | |
-e MYSQL_ROOT_PASSWORD=12345678 \ | |
mysql:5.7 |
4、进入mysql容器并创建用户账户密码均为sonar
说明:如果运行sonarqube时直接使用mysql的root账户,该步骤可跳过。
docker exec -it mysql5.7 bash | |
#需要输入密码(输入的密码是不可见的,输完直接按回车键) | |
mysql -u root -p | |
create database sonar; | |
CREATE USER 'sonar'@'%' IDENTIFIED WITH mysql_native_password BY 'sonar'; | |
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%'; | |
exit |
三、sonarqube安装
1、docker拉取sonarqube镜像
docker pull sonarqube:7.8-community |
说明:由于不同sonarqube对jdk版本要求不一致,生产环境实际用的jdk1.8,所以本次安装的是sonarqube7.8版本 再往上就不支持jdk1.8了,数据库采用的是mysql,也是由于sonarqube版本原因选用mysql5.7。
2、启动sonarqube
#执行前 xxx.xxx.xxx.xxx 修改为服务器IP地址,并且需要提前在数据库中手动创建 sonar 数据库 | |
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql:mysql -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -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 |
注意:
可能遇到以下错误:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] |
错误原因:elasticsearch用户拥有的内存权限太小,至少需要262144。
解决方法:
#1、输入命令 | |
sysctl -w vm.max_map_count=262144 | |
#2、修改 /etc/sysctl.conf文件,在文件最后增加内容:vm.max_map_count=262144 | |
vim /etc/sysctl.conf |
四、sonarqube安装中文汉化包
1、下载汉化包
首先根据自己sonarqube的版本,选择对应版本的汉化包,可通过以下的链接进行下载
我安装的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
到此,能正常登录并展示汉化后的页面则大功告成!
出处:https://www.cnblogs.com/hzxll/p/17482842.html
标签:JDK1.8,sonarqube,MySql5.7,xxx,CentOs7,mysql,sonar,docker,data From: https://www.cnblogs.com/mq0036/p/17483248.html