部署SonarQube代码检测服务以及jenkins实现代码自动

部署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