Linux系统下使用Sonarqube+Git+jenkins搭建代码自动扫描平台(其中有JDK安装配置+mysql安装配置)

一、安装jdk
1.1上传压缩包到/root/opt目录下
链接:https://pan.baidu.com/s/169J2JP039A9BIFfNeFTqGg
提取码:abcd
1.2使用tar -zxvf 命令解压,并使用ln -s 命令创建软连接
在这里插入图片描述在这里插入图片描述

1.3使用vim /etc/profile 配置环境变量如下
在这里插入图片描述

1.4使用source /etc/profile 刷新环境变量,并使用java -version命令检测,看到如下则成功
在这里插入图片描述

二、配置mysql(使用已有的数据库可略过)
2.1上传压缩包到/root/opt目录下
链接:https://pan.baidu.com/s/1pnQY3FBDuwIQFRUt7IpIRA
提取码:abcd
2.2使用tar -zxvf 命令解压,并使用ln -s命令创建软连接
在这里插入图片描述
在这里插入图片描述

2.3创建mysql用户和用户组,并使用id mysql 进行测试
在这里插入图片描述

2.4进入mysql安装目录,并创建data目录
在这里插入图片描述

2.5修改安装目录的权限
在这里插入图片描述

2.6修改配置文件/etc/my.cnf如下
在这里插入图片描述

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
init-connect=‘SET NAMES utf8’
basedir=/opt/mysql #根据自己的安装目录填写
datadir=/opt/mysql/data #根据自己的mysql数据目录填写
socket=/tmp/mysql.sock
max_connections=200 # 允许最大连接数
character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎

2.7初始化mysql,
/opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data

在这里插入图片描述

2.8修改安装目录的权限
在这里插入图片描述

2.9后台启动msyql服务,因为环境变量已配置,所以可以直接用
mysqld_safe --user mysql &
在这里插入图片描述

2.10登陆测试
mysql -u root -p # 默认没有密码,直接敲回车就可以
use mysql;
update user set authentication_string=password(‘这里填你设置的密码’) where user=‘root’;
flush privileges;
exit;
2.11配置自启动
#mysql启动脚本为:/opt/mysql/support-files/mysql.server
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysql
#添加服务
chkconfig --add mysql
#显示服务列表
chkconfig --list
#开机启动
chkconfig --level 345 mysql on
#测试添加的服务是否能用
service mysql status #查看状态
service mysql start #启动mysql服务
service mysql stop #停止mysql服务

三、配置sonarqube
3.1上传压缩包
链接:https://pan.baidu.com/s/10gvC9xbgrpyOszrdS5zwzA
提取码:abcd
3.2使用unzip 命令进行解压,并创建了软连接
在这里插入图片描述
在这里插入图片描述

3.3创建sonar用户,并修改sonarqube安装目录的权限(不可省略,否则启动会失败)
在这里插入图片描述
在这里插入图片描述

3.4修改/opt/sonarqube/conf/sonar.properties文件,使用mysql作为存储(有端口冲突的时候也可以在这里修改,如果是云服务器需要开放端口的安全组)
在这里插入图片描述

3.5修改/opt/sonarqube/bin下的linux-x86-64为linux,而后环境变量就可以使用,切换到sonar用户启动sonarqube服务(启动失败请排查sonarqube目录下的log文件夹)
在这里插入图片描述

3.6在浏览器中输入http://ip:9000,看到如下界面即为启动成功
在这里插入图片描述

3.7使用admin(账号),admin(密码)登录之后,可通过该选项添加插件(仅针对于现有的版本,低版本的请选择历史版本下载,下方连接是对应版本的插件,可以删上传到安装目录下的extensions/plugins/目录下,重启sonarqube,即可使用,从上到下分别是findbugs插件,中文插件,pdf导出插件,plsql插件)在这里插入图片描述

链接:https://pan.baidu.com/s/17Q2FxHwNLJEBMdXDNsYD-w
提取码:abcd
在这里插入图片描述

在这里插入图片描述

四、配置sonarscanner
4.1上传压缩包
链接:https://pan.baidu.com/s/1vYGH0WqjLcJh0CAqG0QZ0w
提取码:abcd
4.2解压压缩包,并创建软连接
在这里插入图片描述
在这里插入图片描述
4.3修改配置文件,指定sonarqube服务器,编码格式,数据库连接,项目名(无规定命名,但唯一),项目主键(无规定命名,但唯一),项目保存位置,源码位置,编译过的文件位置,以及语言
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.login=admin
sonar.password=admin
sonar.projectKey=test
sonar.projectName=test
sonar.projectVersion=2.2.0
sonar.projectBaseDir=项目保存位置
sonar.sources=源码位置(从基础路径下开始的文件路径)
sonar.java.binaries=编译过的文件位置(从基础路径下开始的文件路径)
sonar.language=java
4.4环境变量已配置,可以直接使用命令sonar-scanner进行执行(注意:配置文件中路径位置需要指定正确)
在这里插入图片描述

4.5扫描后,代码情况可以在sonarqube服务器上看到,点开项目,在更多的地方可以下载pdf文件,pdf导出需要设置账号名密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、安装jenkins
5.1安装liunx版的jenkins
https://pkg.jenkins.io/redhat-stable/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2启动jenkins服务
在这里插入图片描述
在这里插入图片描述

5.3修改镜像源为国内的https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在这里插入图片描述
在这里插入图片描述

5.4使用密码登陆jenkins,密码保存位置如下
在这里插入图片描述

5.5找到/var/lib/jenkins目录下的updatas目录中default.json,使用如下文件替换
sed -i ‘s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ /var/lib/jenkins/updates/default.json && sed -i ‘s/http://www.google.com/https://www.baidu.com/g’ /var/lib/jenkins/updates/default.json
在这里插入图片描述

5.6在进入ip:8080端口即可看到如下界面,选择安装推荐的插件(如果后续需要新的插件,可以在插件管理中下载)
在这里插入图片描述
在这里插入图片描述

5.7设置新的用户,以及jenkins的访问地址
在这里插入图片描述
在这里插入图片描述

5.8为了防止密码忘记,设置可以注册账号
在这里插入图片描述

5.9在服务器上安装maven和git(也可以通过jenkins自动安装)
maven:
链接:https://pan.baidu.com/s/16yApWtvJQpMxMg8FnOvIug
提取码:abcd
tar -zxvf 解压,创建软件链接
在这里插入图片描述
修改数据源为阿里的

alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central

在这里插入图片描述

添加环境变量,刷新环境变量,检测maven 在这里插入图片描述
在这里插入图片描述

git:
yum源安装,git --version检测
在这里插入图片描述
在这里插入图片描述

5.10 jenkins中配置全局
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.11配置系统设置
在这里插入图片描述
在这里插入图片描述

六、配置mail工具
https://blog.csdn.net/weixin_43909848/article/details/107109895?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160913094216780271180358%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=160913094216780271180358&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-5-107109895.nonecase&utm_term=sonarqube%E9%85%8D%E7%BD%AEpdf
6.1yum源安装mail
在这里插入图片描述

6.2生成SSL证书
#生成证书
#qq的话把ali.crt替换成qq.crt
$ mkdir ~/.certs
$ echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ > ~/.certs/qq.crt
$ certutil -A -n “GeoTrust SSL CA” -t “C,” -d ~/.certs -i ~/.certs/ali.crt
$ certutil -A -n “GeoTrust Global CA” -t “C,” -d ~/.certs -i ~/.certs/ali.crt

查看证书权限

$ cd ~/.certs && ll
总用量 80
-rw-r–r-- 1 root root 2277 4月 19 10:47 ali.crt
-rw------- 1 root root 65536 4月 19 10:56 cert8.db
-rw------- 1 root root 16384 4月 19 10:56 key3.db
-rw------- 1 root root 16384 4月 19 10:48 secmod.db

#验证,显示如下信息表示 SSL 证书配置生成及安装完成
$ certutil -A -n “GeoTrust SSL CA - G3” -t “Pu,Pu,Pu” -d ./ -i ali.crt
Notice: Trust flag u is set automatically if the private key is present.
在这里插入图片描述

6.3配置邮箱信息

配置邮箱参数,文件末尾添加以下内容

$ vi /etc/mail.rc

ssl 校验设置,配置 SSL 证书就可以注释掉

邮箱账户,对方收到邮件时显示的发件人

set from=@qq.com
//这是QQ邮箱的stmp地址,阿里云邮箱为:smtps://smtp.mxhichina.com:465
set smtp=smtp.qq.com
#邮箱账户
set smtp-auth-user=1125

#邮箱密码,部分邮箱(163、qq)为授权密码而非邮箱密码
set smtp-auth-password=xjvfwiwlie*****

smtp 认证方式。默认是 login

set smtp-auth=login
#如果用阿里邮箱,这个要注释掉,否则会报错 SSL/TLS handshake failed: SSL received a malformed Alert record.
set smtp-use-starttls
set ssl-verify=ignore
#设置 nss 配置目录,上一步骤 SSL 证书目录
set nss-config-dir=/home/jenkins/.certs
6.4使用jenkins用户配置邮件发送
mkdir -p /home/Jenkins/.certs
cd /root/.certs
cp * /home/Jenkins/.certs
6.5测试发送邮件功能
su jenkins
#发送邮件
$ echo “邮件内容” | mail -s “邮件标题” qq邮箱

七、配置项目
https://www.cnblogs.com/mingyue5826/p/10768486.html
7.1新建一个自由风格的软件项目,命名为aaa
在这里插入图片描述

7.2源码管理设置为git,配置如下
在这里插入图片描述

7.3配置触发器如下
在这里插入图片描述

7.4登陆git仓库,配置如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5将上方生成的凭据添加到如下位置
在这里插入图片描述
在这里插入图片描述

7.6增加构建步骤
sonar.projectKey= J O B N A M E s o n a r . s o u r c e s = . s o n a r . p r o j e c t N a m e = {JOB_NAME} sonar.sources=. sonar.projectName= JOBNAMEsonar.sources=.sonar.projectName={JOB_NAME}
sonar.projectVersion= B U I L D V E R S I O N s o n a r . l a n g u a g e = j a v a s o n a r . s o u r c e E n c o d i n g = U T F − 8 s o n a r . s o u r c e s = {BUILD_VERSION} sonar.language=java sonar.sourceEncoding=UTF-8 sonar.sources= BUILDVERSIONsonar.language=javasonar.sourceEncoding=UTF8sonar.sources=WORKSPACE
sonar.java.binaries=$WORKSPACE

export LANG=“zh_CN.UTF-8”
export LC_ALL=“zh_CN.UTF-8”
sonar_url=aaa
rm -f J O B N A M E . p d f w g e t h t t p : / / s o n q r q u b e 的 服 务 器 i p : 9000 / a p i / p d f r e p o r t / g e t ? c o m p o n e n t K e y = {JOB_NAME}.pdf wget http://sonqrqube的服务器ip: 9000/api/pdfreport/get?componentKey= JOBNAME.pdfwgethttp://sonqrqubeip:9000/api/pdfreport/get?componentKey={sonar_url} -O J O B N A M E . p d f e c h o " {JOB_NAME}.pdf echo " JOBNAME.pdfecho"{JOB_NAME}-第${BUILD_NUMBER}次代码扫描报告" > mail.txt
echo “项目名称 : J O B N A M E " > > m a i l . t x t e c h o " 构 建 编 号 : 第 {JOB_NAME}" >> mail.txt echo "构建编号 : 第 JOBNAME">>mail.txtecho"{BUILD_NUMBER}次构建” >> mail.txt
echo “代码路径 : ${SVN_URL}” >> mail.txt
echo “构建日志 : ${BUILD_URL}consoleText” >> mail.txt
echo “构建Url : ${JOB_URL}” >> mail.txt
echo “工作目录 : ${WORKSPACE}” >> mail.txt
cd W O R K S P A C E s e n d 1 = {WORKSPACE} send1= WORKSPACEsend1=(git show -s --format=%ae)
mail -a ${WORKSPACE}/*.pdf -s “sonarqube report” ${send1}< ${WORKSPACE}/mail.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
搭建完成,自行测试

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值