SonarQube+jenkins实现CodeReview环境搭建
作者:互联网
一、MySQL安装
1、下载、上传、解压、重命名
下载MySQL,上传到linux服务器,我放在了目录/usr/local目录下,下载的版本是:mysql-5.7.22-linux-glibc2.12-x86_64.tar
对上传的压缩文件进行解压,解压命令:tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar
使用mv命令把文件重命名:mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
2、添加用户和用户组
添加用户组:
groupadd mysql
添加mysql用户到用户组mysql:
useradd -g mysql mysql
3、安装mysql
把mysql文件所属用户和组设置为mysql
chown -R mysql:mysql
安装命令:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
#注意记住最后一行的 m6Yifsio7n<*,这个是mysql初始登录root时的密码、
将mysql/目录下除了data/目录的所有文件,改回root用户所有
chown -R root
mysql用户只需作为mysql/data/目录下所有文件的所有者
chown -R mysql data
4、文件配置
mysql目录下复制启动文件:
cp support-files/mysql.server /etc/init.d/mysqld
给启动文件赋予权限
chmod 755 /etc/init.d/mysqld
拷贝my_print_defaults 到/usr/bin目录下
cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
修改启动脚本,修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port=3306
vi /etc/init.d/mysqld
5、启动服务并使用
加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
使用命令编辑: vim /etc/profile
添加mysql路径
export PATH=$PATH:/usr/local/mysql/bin
:qw 保存
使用 source /etc/profile 命令使其生效配置以上信息之后,基本就可以启动了mysql(如果不能启动,请看最后的配置文件),但是现在还缺少mysql的配置文件,即my.cnf文件(没有它Mysql也可以使用内置的默认参数启动)
使用命令登录mysql
mysql -uroot -p
Enter password: “ 这里password是上面的: m6Yifsio7n<*”
登录成功后后设置root密码
mysql>SET PASSWORD = PASSWORD('root');
6、使用windows 远程访问linux虚拟机的mysql
首先需要关闭防火墙, 或者在/etc/sysconfig/iptables 下开放3306自己设置的端口号,然后 service iptables restart 重启服务
给用户授权
输入命令:grant all privileges on . to root @"%" identified by ‘123456’ WITH GRANT OPTION
授权完成后就可以进行远程连接了
7、mysql 启动、重启、停止命令
启动:service mysql start
停止:service mysql stop
重启:service mysql restart
二、SonarQube安装
现在sonarqube文件并上传:sonarqube-7.6.zip
1、数据库配置
创建sonarqube服务需要的数据库
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonarpassword';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonarpassword';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonarpassword';
mysql> FLUSH PRIVILEGES;
2、修改配置文件,文件在sonarqube目录的conf目录下sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonarpassword
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
sonar.web.context=/
sonar.web.port=9000
进入sonaran安装bin目录下如../sonarqube-7.6/bin/linux-x86-64,运行命令:./sonar.sh restart 重启服务
3、异常处理
(1)java.lang.RuntimeException: can not run elasticsearch as root
错误原因:因为安全问题elasticsearch 不让用root用户直接运行
创建用户
adduser sonar
为用户创建密码
passwd sonarUser
修改sonar的目录和用户组为sonar
chown -R sonar:sonar sonarqube-7.6
重新启动sonar
使用普通用户启动sonar ./sonar.sh start
(2)如果sonarqube启动失败,日志显示如下
在wrapper.conf文件增加
3、如上操作还是执行失败
操作temp文件的权限修改为chown –R sonar:sonar temp
三、Jenkins配置
1、在Jenkins中要新建sonarqube测任务需要下载安装scanner插件,由于scanner插件的版本对jdk的版本有要求,可以根据自己的需求下载合适scanner版本,选择插件上传进行安装
2、安装完成后重新启动Jenkins,安装成功的标志在已安装列表中进行查询
3、 使用Jenkins新建一个构建任务
general 选择构建策略 保持天数和保持构建的最大数进行选择,如果不选择构建次数多了会占用磁盘空间
4、源码管理:输入代码库的地址和账号密码
5、Pre Steps 填写
6、build,填写完成后保存
7、进行项目构建和查看构建日志,点击build进行项目构建,和查看构建过程中的日志文件
8、构建过程中存在的问题:
(1)、sonar-scanner扫描代码出错 SonarQube svn: E170001
打开sonarqube的控制台,使用admin登录后 ,在配置->SCM->菜单中,将Disabled the SCM Sensor设置为true
(2)、ERROR: Caused by: Failed to upload report - An error has occurred. Please contact your administrator
查看数据库max_allowed_packet空间:show VARIABLES like '%max_allowed_packet%';
使用命令直接修改:
set global max_allowed_packet = 64*1024*1024*10
修改完成后要重新启动sonar
(3)、
ERROR: No such settings file /usr/local/apche-maven-3.5.4/conf/settings.xml exists
Please verify that your alternate settings file is specified properly and exists in the workspace
(4)没有在指定目录下显示
修改执行文件
小结:以上是笔者亲自验证过,可供读者进行参考,安装配置时要注意各软件的安装版本
标签:CodeReview,sonarqube,SonarQube,usr,mysql,sonar,jenkins,local,目录 来源: https://www.cnblogs.com/jin319/p/15045641.html