1、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,点击全局,再点击添加凭据

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则说明配置成功

  • 定时构建和轮询SCM

1、定时构建

顾名思义,定时构建就是指到了规定的时间就会自动执行这个任务

2、轮询SCM

轮询SCM也是一种定时任务,他的意思是到了指定的时间会去判断代码版本库是否发生变化,如果发生变化,则自动执行任务,没有变化则不执行任务

3、定时任务的规则

定时任务的规则和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、配置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任务界面看到自动启动的执行

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

10分钟搭建一套代码质量监控平台,开发从此不敢摸鱼相关推荐

  1. AliOS Things+阿里云 10分钟搭建智慧农业解决方案

    AliOS Things+阿里云 10分钟搭建智慧农业解决方案 1.1 样品介绍 在工业.农业物联网布线场景中以MODBUS类型为主,样品提供MODBUS类型传感器硬件和软件快速接入方案,并将传感器数 ...

  2. 使用和风天气 API 10分钟搭建天气预报数据看板

    本文首发:<使用和风天气 API 10分钟搭建天气预报数据看板)> 使用和风天气 API 10分钟搭建天气预报数据看板 第 1 步:注册和风天气 API 及卡拉云 (1)注册和风天气 AP ...

  3. 10分钟搭建树莓派NAS私有云和KODI影音播放系统 (1)---树莓派4B重大提升,脱胎换骨

    在这之前,我们先来了解下树莓派4b有哪些提升,对于接下来的使用来说有哪些意义. 什么是树莓派呢?这个我就不在这里累述了,不清楚的小伙伴可以搜索了解下.我们重点介绍下树莓派4B,很多小伙伴其实并不太了解 ...

  4. 音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

    音视频直播技术--10分钟搭建好直播平台 前言 今天给大家讲一下如何搭建最简单的音视频直播平台.在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下.了解了直播的技术架构,我们就 ...

  5. pythonhelloworld项目,10分钟搭建一个小型网页(python django)(hello world!)

    10分钟搭建一个小型网页(python django)(hello world!) 1.安装django pip install django 安装成功后,在Scripts目录下存在django-ad ...

  6. 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡...

    10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 原文:10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 分布式 ...

  7. 安防监控系统流媒体服务器,搭建一套安防监控系统RTSP/Onvif网络摄像头视频流媒体服务有哪些核心要素?...

    原标题:搭建一套安防监控系统RTSP/Onvif网络摄像头视频流媒体服务有哪些核心要素? 在现代信息社会,人民的生活水准不断提高,因而对安全的需求也越来越迫切.特别自"9·11"与 ...

  8. 代码质量检测平台架构设计

    「前言」 你是否清楚的了解自己的项目有多少个文件夹.多少个文件.多少行代码.多少个函数.多少个字符数? 你是否在项目中引入过代码质量检测相关的工具? 你是否在不同项目的切换中饱受indent=2还是i ...

  9. 视频教程-10分钟实现微信小程序支付功能-微信开发

    10分钟实现微信小程序支付功能 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥19. ...

最新文章

  1. JPA中实现单向一对多的关联关系
  2. Color types not allowed (at ‘drawable’ with value ‘#f0f0f0’)
  3. 线上课程推荐 | 计算机方向:无人驾驶中的环境感知
  4. 原生 js 模拟 alert 弹窗
  5. DefaultNetworkCredentials vs DefaultCredentials
  6. in function ‘int main()’_如果 main 函数的末尾没有 return 语句将会有什么影响
  7. java导出excel_Java导出excel【复制粘贴直接用】
  8. BootDO框架的使用及介绍
  9. [视频]AI 机器学习 深度学习 视频教程汇总
  10. week15(字符串集合:Hash、字典树、KMP)
  11. pearson相关系数_pearson相关系数与典型相关性分析(CCA)
  12. Excel2013打印时怎么固定表头及表尾让打印后的每页都可以看得到
  13. Mixly16:震动报警器
  14. 使用命令行将文件上传到阿里云OSS
  15. 伦敦银开盘时间知多少
  16. IOS开发笔记(九)——IM聊天工具个人详情页面,自定义tableview的accessaryView
  17. 微信订阅号无法使用网页授权解决方案
  18. pfa100_PFA 的主要性能
  19. springboot毕设项目大学生助学贷款管理系统w659v(java+VUE+Mybatis+Maven+Mysql)
  20. AI篮球裁判火了,走步算得特别准,就问哈登慌不慌

热门文章

  1. 单元测试总结反思_我的2019反思与总结
  2. 数据结构与算法之-----图(拓扑排序)
  3. 浏览器向服务器发送的消息称为,网络是怎样连接之浏览器的探索之旅读书笔记(一)...
  4. 后台cs代码控制html控件,cshtml中正则表达式使用后台代码
  5. matlab数值模拟的例子,第12章 MATLAB 数值模拟实例解析课件
  6. 针织布横条疵点解决方案
  7. Halcon数据类型
  8. Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
  9. Python环境搭建之OpenCV(转载)
  10. windows 10 64位安装Python3.6.4