Jenkins+GitLab+SonarQube实现自动化代码检测(以C++代码为例)

一、安装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结果检测页面

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

orgotF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值