部署SonarQube代码检测服务以及jenkins实现代码自动
1.SonarQube部署前的内核参数等配置以及Java环境配置
1)修改内核参数配置,使满足环境要求
[root@sonarqube ~]# vim /etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
[root@sonarqube ~]# sysctl -p #生效修改的内核参数
……
vm.max_map_count = 262144
fs.file-max = 65536
2)修改本机安全策略参数限制
[root@sonarqube ~]# vim /etc/security/limits.conf
……
sonarqube - nofile 65536
sonarqube - nproc 2048
3)配置java环境(至少jdk-8或openjdk-8版本)
[root@sonarqube ~]# ls /usr/local/src/
jdk-8u211-linux-x64.tar.gz
[root@sonarqube src]# tar xvf jdk-8u211-linux-x64.tar.gz
[root@sonarqube src]#ln -sv jdk1.8.0_211 jdk
[root@sonarqube src]#ln -sv jdk
[root@sonarqube src]# ln -sv jdk/bin/* /usr/bin
[root@sonarqube src]# vim /etc/profile
……
export export LANG="en_US.utf-8"
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
2.数据库准备(sonarqube7.9版本不再支持MySQL,这里以sonarqube6.7为例,并要求至少mysql5.6)
1)提前定义好数据的相关路径以及数据库启动用户
[root@sonarqube ~]# mkdir /data/mysql #数据库的相关数据保存路径
[root@sonarqube ~]# mkdir /data/binlog/bin #二进制日志存放目录
[root@sonarqube ~]# chown mysql.mysql -R /data/binlog
[root@sonarqube ~]# chown mysql.mysql -R /data/mysql
[root@sonarqube ~]# useradd -s /sbin/nologin/ mysql -u 1234
2)下载msyql源码压缩文件
[root@sonarqube ~]# ls /apps/mysql/
mariadb-10.2.23-linux-x86_64.tar.gz
3)解压并创建软连接
[root@sonarqube ~]# tar xvf mariadb-10.2.23-linux-x86_64.tar.gz
[root@sonarqube ~]# ln -sv mariadb-10.2.23-linux-x86_64 mysql
4)创建可执行二进制文件的软连接
[root@sonarqube ~]# ln -sv /apps/mysql/mysql/bin/* /usr/sbin/
5)修改mysql启动脚本文件
[root@sonarqube ~]# vim /apps/mysql/mysql/support-files/mysql.server
……
basedir=/apps/mysql/mysql #定义mysql的安装运行目录
datadir=/data/mysql #定义mysql数据库文件保存目录
……
6)建议 修改主机域名解析,将修改的主机名解析到本地本地回环
[root@sonarqube ~]# vim /etc/hosts
127.0.0.1 sonarqube localhost localhost.localdomain localhost4 localhost4.localdomain4
……
7)执行数据库的初始化
[root@sonarqube scripts]# pwd
/apps/mysql/mysql/scripts
[root@sonarqube scripts]# ls
mysql_install_db
[root@sonarqube scripts]# mysql_install_db --user=mysql --datadir=/data/mysql
8)启动mysql服务
[root@sonarqube support-files]# pwd
/apps/mysql/mysql/support-files
[root@sonarqube support-files]# bash mysql.server start
9)查看3306端口是否启动
[root@sonarqube ~]# ss -tnlp
State
Recv-Q Send-Q Local Address:Port
Peer Address:Port
……
LISTEN
0
80
:::3306
:::*
users:(("mysqld",pid=9865,fd=18))
……
10)创建sonarqube数据库并授权(字符集utf8)
MariaDB [(none)]> create database sonarqube default character set utf8 collate utf8_general_ci;
MariaDB [(none)]> grant all on sonarqube.* to sonarqube@'192.168.1.31' identified by '123456';
11)测试sonarqube用户是否可以登录数据库
[root@sonarqube ~]# mysql -usonarqube -p123456 -h192.168.1.31
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.2.23-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
MariaDB [(none)]> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| sonarqube
|
| test
|
+--------------------+
3 rows in set (0.00 sec)
3.sonarqube-6.7的安装配置
1)下载源码压缩包
[root@sonarqube ~]# ls /apps/sonarqube
sonarqube-6.7.7.zip
2)解压sonarqube源码包,并创建软连接
[root@sonarqube sonarqube]# unzip sonarqube-6.7.7.zip
[root@sonarqube sonarqube]# ln -sv sonarqube-6.7.7 sonarqube
‘sonarqube’ -> ‘sonarqube-6.7.7’
3)创建用户以及更改目录的属主属组
[root@sonarqube sonarqube]# useradd sonarqube
[root@sonarqube sonarqube]# chown sonarqube.sonarqube -R /apps/sonarqube/
4)配置sonarqube配置文件
[root@sonarqube conf]# su - sonarqube
Last login: Mon Jul 29 13:48:33 CST 2019 on pts/1
[sonarqube@sonarqube ~]$ cd /apps/sonarqube/sonarqube
[sonarqube@sonarqube sonarqube]$ grep '^[a-Z]' conf/sonar.properties
sonar.jdbc.username=sonarqube
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.1.31:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=0.0.0.0
sonar.web.port=9000
5)启动sonarqube服务
[sonarqube@sonarqube sonarqube]$ ./bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.
6)查看监听端口
[sonarqube@sonarqube sonarqube]$ ss -tnlp
State
Recv-Q Send-Q Local Address:Port
Peer Address:Port
LISTEN
0
128
*:111
*:*
LISTEN
0
128
*:22
*:*
LISTEN
0
100
127.0.0.1:25
*:*
LISTEN
0
1
127.0.0.1:32000
*:*
users:(("java",pid=10447,fd=4))
LISTEN
0
25
:::9000
:::*
users:(("java",pid=10544,fd=116))
LISTEN
0
128 ::ffff:127.0.0.1:9001
:::*
users:(("java",pid=10467,fd=100))
LISTEN
0
80
:::3306
:::*
LISTEN
0
128
:::111
:::*
LISTEN
0
128
:::22
:::*
LISTEN
0
100
::1:25
:::*
LISTEN
0
50
::ffff:127.0.0.1:9092
:::*
users:(("java",pid=10544,fd=148))
7)浏览器访问sonarqube
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/0daa98b84cc47b06d9dcc560716cffd8.html