既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
先在sonar平台上创建一个token
进入我的账号–>安全,复制令牌,一定要记住只有一次机会
3aa08af94991e923e4468b3931035ef6328101e6
jenkins上配置sonar的token凭据
进入系统管理–>Manage Credentials,点击全局,再点击添加凭据
设置凭据并保存
jenkins配置sonar服务
进入系统管理–>系统设置,找到SonarQube servers区域,点击Add SonarQube
最后点保存
jenkins配置sonar扫描器
进入系统管理–>全局工具配置,找到SonarQube Scanner区域,点击新增SonarQube Scanner
03、Jenkins配置扫描任务
点击新建Item,按照下图进行输入和选择
设置General
设置源码管理
通常我们的代码通过版本管理工具进行管理,svn或者git都比较常见,咱们这里用的是git
设置构建触发器
构建触发器的意思是在什么情况下这个任务会自动执行,自动触发的方式有很多中,一般选择一两种即可;文档会介绍几种用法
① GitLab webhook
对应的就是图中的Build when a change is pushed to GitLab,设置如下:
- 勾选Build when a change is pushed to GitLab,点击高级最后的generate 生成secret
- 在gitlab上创建新的webhook
登录gitlab,打开自己的项目仓库,点击设置–>导入所有仓库
测试一下,界面上方显式http 200则说明配置成功
② 定时构建和轮询SCM
- 定时构建
顾名思义,定时构建就是指到了规定的时间就会自动执行这个任务 - 轮询SCM
轮询SCM也是一种定时任务,他的意思是到了指定的时间会去判断代码版本库是否发生变化,如果发生变化,则自动执行任务,没有变化则不执行任务 - 定时任务的规则
定时任务的规则和linux的定时任务写法是一致的,
第一个*表示分钟,取值是0-59第二个*表示小时,取值是0-23第三个*表示一个月的几号,取值1-31第四个*表示是几月,取值1-12第五个*表示周几,取值0-7,其中0和7都代表周日
举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * |
- | |
| — |
| 举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * | - | |
| — |
| 举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * | - | |
| — |
| 举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * | - | |
| — |
| 举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * | - | |
| — |
| 举几个例子:每隔5分钟构建一次: H/5 * * * *每两小时构建一次: H H/2 * * *周一到周五早9点到下午16点之间,每隔两小时的第45分钟执行:45 9-16/2 * * 1-5除了12月,每个月的1号15号执行:H H 1,15 1-11 *每小时的前半个小时每隔10分钟执行一次:H(0-29)/10 * * * * |
③ 其他工程构建后触发
指的是在其他任务执行完成后,自动驱动当前任务执行,一般是具有上下游关系时使用
配置Build
因为咱们这个任务是做sonar扫描和jacoco统计的,所以Goals and options设置如下,并不是所有任务都这么配哦
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
配置jacoco报告插件
jacoco报告插件可以将覆盖率情况最后展示在jenkins的任务结果中,并且还可以针对覆盖率是否通过进行设置;覆盖率不达标则任务失败,覆盖率达标则任务成功
设置代码覆盖率的最大值最小值,勾选不满足最小值时任务失败,设置最小值(根据各自公司定)
增量变化,如果勾选了,指的是比上一次成功构建的覆盖率的增量变化,只能比设置的增量大,比增量小的任务也会失败
覆盖率不满足时任务失败则sonar代码扫描不会进行
sonar扫描插件设置
然后点击高级,输入如下内容
-Dsonar.projectKey=jacoco$BUILD_NUMBER
-Dsonar.projectName=jacocojenkins
-Dsonar.language=java
-Dsonar.sourceEncoding=UTF-8
保存后执行
手动执行
自动执行
自动执行取决于设置的构建触发,咱们以git代码提交为触发条件,修改本地项目代码,然后git提交
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
5405512280)]
[外链图片转存中…(img-TeYVDOJF-1715405512280)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新