CentOs7安装部署Sonar环境的详细过程(JDK1.8+MySql5.7+sonarqube7.8)

 更新时间:2023年06月16日 08:53:06   作者:落子无悔,永远少年  
这篇文章主要介绍了CentOs7安装部署Sonar环境(JDK1.8+MySql5.7+sonarqube7.8),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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的版本,选择对应版本的汉化包,可通过以下的链接进行下载

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

到此,能正常登录并展示汉化后的页面则大功告成!

到此这篇关于CentOs7安装部署Sonar环境(JDK1.8+MySql5.7+sonarqube7.8)的文章就介绍到这了,更多相关CentOs7安装部署Sonar内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解析SQL语句中Replace INTO与INSERT INTO的不同之处

    解析SQL语句中Replace INTO与INSERT INTO的不同之处

    本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Mysql中undo、redo与binlog的区别浅析

    Mysql中undo、redo与binlog的区别浅析

    大家应该都知道日志系统主要有redo log(重做日志)和binlog(归档日志),下面这篇文章主要给大家介绍了关于Mysql中undo、redo与binlog区别的相关资料,需要的朋友可以参考下
    2021-09-09
  • MySql实现翻页查询功能

    MySql实现翻页查询功能

    分页查询在网页中随处可见,那原理是什么呢?下面简单介绍一下基于MySql数据库的limit实现方法,感兴趣的朋友一起看看吧
    2019-11-11
  • 教你如何使用MySQL8递归的方法

    教你如何使用MySQL8递归的方法

    这篇文章主要介绍了教你如何使用MySQL8递归的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MySql数据库之alter表的SQL语句集合

    MySql数据库之alter表的SQL语句集合

    mysql之alter表的SQL语句集合,包括增加、修改、删除字段,重命名表,添加、删除主键等。本文给大家介绍MySql数据库之alter表的SQL语句集合,感兴趣的朋友一起学习吧
    2016-04-04
  • MySQL存储过程中的基本函数和触发器的相关学习教程

    MySQL存储过程中的基本函数和触发器的相关学习教程

    这篇文章主要介绍了MySQL存储过程中的基本函数和触发器的相关学习教程,包括触发器的创建和删除等基本操作,需要的朋友可以参考下
    2015-11-11
  • MySQL数据库性能优化介绍

    MySQL数据库性能优化介绍

    大家好,本篇文章主要讲的是MySQL数据库性能优化介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Mysql CAST函数的具体使用

    Mysql CAST函数的具体使用

    本文主要介绍了Mysql CAST函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • MySQL 权限控制细节分析

    MySQL 权限控制细节分析

    这篇文章主要介绍了MySQL 权限控制细节分析的相关资料,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • SQL实现LeetCode(183.从未下单订购的顾客)

    SQL实现LeetCode(183.从未下单订购的顾客)

    这篇文章主要介绍了SQL实现LeetCode(182.从未下单订购的顾客),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论