10分钟搭建一套代码质量监控平台_jenkins安装

java -jar jenkins.war

执行日志里一定要记着下面红框里的东西

**访问Jenkins,**按步骤安装

http://192.168.1.12:8080 端口默认就是8080

  • 输入上一步记住的密码,或者去/root/.jenkins/secrets/initialAdminPassword文件里拷贝
  • 安装推荐的插件(需要耐心等待)
  • 创建管理员,点击保存并完成

  • 开始jenkins

03、全局工具配置

进入Manage Jenkins–>Global Tool Configuration,中文的话就是系统管理–>全局工具配置,依次配置各个工具

1、jdk

点击新增,取消自动安装,填写jenkins所在服务器的jdk路径

2、git

先在jenkins所在服务器上手动安装git

下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

下载git 2.29.0版本,下载后上传git至服务器解压,进入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

点击add git,取消自动安装,填写jenkins所在服务器git路径

3、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服务

先在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的任务结果中,并且还可以针对覆盖率是否通过进行设置;覆盖率不达标则任务失败,覆盖率达标则任务成功

  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值