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)的更多相关文章

  1. CentOS7.6部署k8s环境

    CentOS7.6部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master.etcd.registry K8s-node-1 10.10 ...

  2. CentOS7.6部署ceph环境

    CentOS7.6部署ceph环境 测试环境: 节点名称 节点IP 磁盘 节点功能 Node-1 10.10.1.10/24 /dev/sdb 监控节点 Node-2 10.10.1.20/24 /d ...

  3. CentOS7安装部署zabbix3.4操作记录

    CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...

  4. centos7 安装部署运行 Redis5

    原文:centos7 安装部署运行 Redis5 Redis5 下载与解压(官网: https://redis.io/download ) 下载命令:wget http://download.redi ...

  5. CENTOS7安装R语言环境

    CENTOS7安装R语言环境 yum install texinfo.x86_64 yum install texlive.x86_64 cd /opt wget https://mirrors.tu ...

  6. 容器centos7安装部署ansible

    容器centos7安装部署ansible centos镜像版本及ansible版本 centos:centos7.5.1804 ansible:2.9.11 启动容器并进入容器 docker run ...

  7. Centos7安装部署搭建gitlab平台、汉化

    Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...

  8. centos7安装部署opentsdb2.4.0

    写在前面 安装HBase 在HBase中创建表结构 安装配置并启动opentsdb 写在前面 最近因为项目需要在读opentsdb的一部分源码,后面会做个小结分享出来.本人是不大喜欢写这种安装部署的文 ...

  9. centos-6.5安装部署LNMP环境

    安装部署前,确保安装了gcc和gcc-c++ 系统信息: [root@zww ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@ ...

  10. CentOS7安装部署jumpserver0.5

    组件说明 Jumpserver为管理后台,管理员可以通过Web页面进行资产管理.用户管理.资产授权等操作; Coco为SSH Server和Web Terminal Server.用户可以通过使用自己 ...

随机推荐

  1. 一个 OpenTiny,Vue2 Vue3 都支持!

    大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端.跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营. 今天给大家介绍如何同时在 Vue2 和 Vue3 项目中使 ...

  2. 一文讲透 Redis 事务 (事务模式 VS Lua 脚本)

    准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本. 先说结论: Redis 的事务模式具备如下特点: 保证隔离性: 无法保证持久性: 具备了一定的原子性,但不支持回滚: 一致性的 ...

  3. day07 字符串和列表

    day07字符串与列表 字符串的内置方法 lower upper startswitch endwhich 格式化输出 format join的用法 replace替换字符串 isdigit判断 字符 ...

  4. DG:有多个备库如何切换

    问题描述:有一数据库准备进行主备switchover切换,但是有两个备库,其中最早一个备库状态已经出现GAP,第二个备库状态正常 SQL> show parameter log_archive_ ...

  5. CSS3-页面布局基础二——Box Model、边距折叠、内联与块标签

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  6. C# 从0到实战 命名空间

    什么是命名空间 命名空间是C#为了解决类名冲突而产生的一种方案,通过特定的前缀来标识一个类,使得编程者可以在自己的命名空间中自由使用各种类名,这很类似于Java中的包. 一般新手学习C#都会使用一个 ...

  7. 本地socket通讯

    本地socket通讯        虽然学过网络socket,但是对于本地socket通讯却不是很熟悉,刚在项目中看到,所以在网上找了一篇介绍的比较详细的,mark下!!!        socket ...

  8. cryptohack wp day(3)

    第二节模运算----第一题( GCD ) 在做这道题前,了解下欧几里得算法: 欧几里得算法,也叫辗转相除法,用于求解两个非负整数a和b的最大公约数(Greatest Common Divisor, G ...

  9. Flutter(十) 音频+视频播放

    在Flutter中,我们有各种插件可供使用,从而实现音频和视频的播放功能. 例如,可以使用"text_to_speech"插件来将文字转换为语音,使用内置的"video_ ...

  10. 2023-3-6 WEEK1 学习

    WEEK1 学习 WEB [NSSCTF 2022 Spring Recruit]babyphp <?php highlight_file(__FILE__); include_once('fl ...