10分钟搭建一套代码质量监控平台,开发从此不敢摸鱼
每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试,领取资料加:Matongxue_8
码同学抖音号:小码哥聊软件测试
01 jenkins安装部署
01 Jenkins下载
中文官网地址:https://www.jenkins.io/zh/
02 Jenkins环境安装
- 安装jdk
- 上传jenkins安装包
- 启动jenkins,耐心等待启动完成(第一次需要个几分钟)java -jar jenkins.war
执行日志里一定要记着下面红框里的东西
- 访问Jenkins,按步骤安装http://192.168.1.12:8080 端口默认就是8080
1、输入上一步记住的密码,或者去/root/.jenkins/secrets/initialAdminPassword文件里拷贝
2、安装推荐的插件(需要耐心等待)
3、创建管理员,点击保存并完成
4、开始jenkins
03全局工具配置
进入Manage Jenkins-->Global Tool Configuration,中文的话就是系统管理-->全局工具配置,依次配置各个工具
jdk
点击新增,取消自动安装,填写jenkins所在服务器的jdk路径
git
先在jenkins所在服务器上手动安装git
下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
1.下载git 2.29.0版本
2.下载后上传git至服务器解压
3.进入git目录执行如下操作:
#安装编译依赖
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
# 检验相关依赖,设置安装路径
./configure --prefix=/usr/local/git
# 编译安装
make && make install
# 删除已有的 git
yum remove git
# 配置环境变量
vim /etc/profile
# GIT_HOME
GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
# 刷新
source /etc/profile
4.点击add git,取消自动安装,填写jenkins所在服务器git路径
maven
下载地址:http://maven.apache.org/download.cgi
下载后上传maven至服务器解压,并配置环境变量,并配置maven的settings.xml文件,和自己本地一样
其他工具如有需要也可以进行配置
注意:全局工具中的配置写的基本都是jenkins所在服务器上的各个工具的路径。
02 jenkins集成sonar、jacoco
01 jenkins安装插件
进入系统管理 --> 插件管理,安装sonar插件
安装maven插件
安装jacoco插件
安装gitlab和gitlab hook插件
等待安装完成后重启jenkins。
02 jenkins配置sonar服务
1、先在sonar平台上创建一个token
进入我的账号-->安全,复制令牌,一定要记住只有一次机会
3aa08af94991e923e4468b3931035ef6328101e6
2、jenkins上配置sonar的token凭据
进入系统管理-->Manage Credentials,点击全局,再点击添加凭据
免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可加:Matongxue_8/关注码同学公众号
3、设置凭据并保存
4、jenkins配置sonar服务
进入系统管理-->系统设置,找到SonarQube servers区域,点击Add SonarQube
最后点保存
5、jenkins配置sonar扫描器
进入系统管理-->全局工具配置,找到SonarQube Scanner区域,点击新增SonarQube Scanner
03 Jenkins配置扫描任务
1、点击新建Item,按照下图进行输入和选择
2、设置General
3、设置源码管理
通常我们的代码通过版本管理工具进行管理,svn或者git都比较常见,咱们这里用的是git
4、设置构建触发器
构建触发器的意思是在什么情况下这个任务会自动执行,自动触发的方式有很多中,一般选择一两种即可;文档会介绍几种用法
- GitLab webhook对应的就是图中的Build when a change is pushed to GitLab,设置如下:
1、勾选Build when a change is pushed to GitLab,点击高级最后的generate 生成secret
2、在gitlab上创建新的webhook
登录gitlab,打开自己的项目仓库,点击设置-->导入所有仓库
测试一下,界面上方显式http 200则说明配置成功
免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可加:Matongxue_8/关注码同学公众号
- 定时构建和轮询SCM
1、定时构建顾名思义,定时构建就是指到了规定的时间就会自动执行这个任务
2、轮询SCM轮询SCM也是一种定时任务,他的意思是到了指定的时间会去判断代码版本库是否发生变化,如果发生变化,则自动执行任务,没有变化则不执行任务
3、定时任务的规则定时任务的规则和linux的定时任务写法是一致的,
第一个*表示分钟,取值是0-59
第二个*表示小时,取值是0-23
第三个*表示一个月的几号,取值1-31
第四个*表示是几月,取值1-12
第五个*表示周几,取值0-7,其中0和7都代表周日
举几个例子:
|
其他工程构建后触发指的是在其他任务执行完成后,自动驱动当前任务执行,一般是具有上下游关系时使用
5、配置Build
因为咱们这个任务是做sonar扫描和jacoco统计的,所以Goals and options设置如下,并不是所有任务都这么配哦
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
6、配置jacoco报告插件
jacoco报告插件可以将覆盖率情况最后展示在jenkins的任务结果中,并且还可以针对覆盖率是否通过进行设置;
覆盖率不达标则任务失败,覆盖率达标则任务成功
设置代码覆盖率的最大值最小值,勾选不满足最小值时任务失败,设置最小值(根据各自公司定)
增量变化,如果勾选了,指的是比上一次成功构建的覆盖率的增量变化,只能比设置的增量大,比增量小的任务也会失败
覆盖率不满足时任务失败则sonar代码扫描不会进行
7、sonar扫描插件设置
然后点击高级,输入如下内容
-Dsonar.projectKey=jacoco$BUILD_NUMBER -Dsonar.projectName=jacocojenkins -Dsonar.language=java -Dsonar.sourceEncoding=UTF-8 |
8、保存后执行
- 手动执行
- 自动执行自动执行取决于设置的构建触发,咱们以git代码提交为触发条件,修改本地项目代码,然后git提交可以在jenkins任务界面看到自动启动的执行
END
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可加:Matongxue_8/关注码同学公众号
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下