一、安装SonarQube
SonarQube如何实现检测C++代码,请阅读
SonarQube+cppcheck实现C++代码扫描_orgotF的博客-CSDN博客_cppcheck sonarqube
二、安装Jenkins
1、安装java jdk环境
(1)更新软件包列表
sudo apt-get update
(2)安装openjdk-8-jdk(根据jenkins版本选择安装,目前高版本的jenkins已支持jdk11)
sudo apt-get install openjdk-8-jdk
(3)查看java版本,看看是否安装成功
java -version
# 显示以下信息,表示安装成功
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
2、安装与配置jenkins
2.1 安装jenkins
下载jenkins.war选择ubunut版本(根据自己的需求下载)
root@ygt-server:/home/chenpk/sonar/jenkins# ls
jenkins.war jenkins.log run.sh
run.sh是用来启动|停止war包的shell脚本
或者执行命令启动jenkins
nohup java -DJENKINS_HOME=.jenkins -jar jenkins.war &> $jenkins.log &
# -DJENKINS_HOME=.jenkins是用来修改jenkins_home目录的,默认放在/home/chenpk/.jenkins(或者/root/.jenkins)下
# nohup用来后台执行war包
# 启动后默认的端口是8080,可以通过添加参数--http_port=XXXX来修改默认端口
默认初始本地地址 主机IP:8080(8080容易端口占用 最好改一下)
我们应该看到“解锁Jenkins”屏幕,显示初始密码的位置
初始密码会显示在jenkins.log,可自行查看
我们将从终端复制32个字符的字母数字密码,并将其粘贴到“管理员密码”字段中,然后单击“继续”。 下一个屏幕提供安装建议的插件或选择特定插件的选项。
我们将点击“安装建议的插件”选项,这将立即开始安装过程:
安装完成后,系统将提示您设置第一个管理用户。 可以跳过此步骤,并使用上面使用的初始密码作为admin
继续,但是我们将花一点时间创建用户
创建用户之后,点击“开始使用Jenkins”来访问主要的Jenkins仪表板:
2.2 配置jenkins
SonarQube设置token令牌,点击头像->我的账号->安全,输入令牌名点击生成就行了
jenkins添加sonarqube凭据,类型选择Secret text,Secret选项把刚刚sonarqube添加的token复制进去
jenkins添加SonarQube和Gitlab hook插件
jenkins系统设置添加sonarqube服务器,token选择刚刚创建的,注意URL要写http://
全局配置sonarqube-scanner
2.3 Jenkins创建任务
jenkins新建job,预构建步骤添加设置sonar
3、Gitlab设置
3.1 设置webhook
填写jenkins上生成的url和token,然后点击"Add webhook"
3.2 测试验证webhook是否成功
点击Tset按钮,然后选择Push events进行测试
提示"Hook executed successfully: HTTP 200",则说明webhook添加成功
搭建完成后,后续只需要git推送代码到远程仓,便会触发jenkins构建执行sonarque检测代码,真正做到自动化测试
3.3 运行测试
推送本地代码到远程仓,触发webhook使得Jenkins自动构建git代码
构建过程的控制台日志输出,如下:
当构建完成后,点击SonarQube会自动跳转到Sonar结果检测页面