第五篇 Jekins集成Gitlab代码质量扫描

GitLab + Jenkins集成用户提交并推送代码至GitLab时,说明代码已经更新,期待和此GitLab关联的Jenkins能够开始持续集成和构建以及部署等流水线的执行,这时就可以使用GitLab的Webhook进行设定。
操作步骤如下
一、创建Gitlab私人令牌
点击
右侧个人头像
,下拉中点击Setting(设置)
,并在设置界面
中点击私人令牌

输入
令牌名称
并勾选api
范围,点击创建个人令牌

点击创建后,提示个人令牌,一定要先保存好,一刷新页面就没了。
这里可以撤销,删除token,如果该token已经关联到Jenkins,要删除该token,要连带删除Jenkins里的GitLab API token,否则Jenkins里的GitLab API token失效不能用。
二、安装Gitlab插件
在
Jekins首页
,点击左侧Manage Jenkins
,点击Manage Plugins(插件管理)

在
Available plugins(可选插件)
中筛选Gitee
,点击安装,成功之后重启Jenkins服务

三、添加Gitlab API令牌凭据
在
Jekins首页
,点击左侧Manage Jenkins
,点击Manage Credentials(凭据管理)

在
全局
下拉中点击Add credentials(添加凭据)

选择
Gitlab API 令牌
类型,输入Gitlab私人令牌
,点击Create

添加成功

四、添加Gitlab账号凭据
在
Jekins首页
,点击左侧Manage Jenkins
,点击Manage Credentials(凭据管理)

在
全局
下拉中点击Add credentials(添加凭据)

选择
Username with password
类型,输入Gitlab账号和密码
,点击Create

添加成功

五、配置Gitlab链接信息
在
Jekins首页
,点击左侧Manage Jenkins
,点击Configure System(系统管理)

输入
Gitlab 链接
信息,选择私人令牌
,点击测试链接
,成功之后,先点击应用
,最后点击保存

六、配置全局工具
6.1、配置工具入口
在
Jekins首页
,点击左侧Manage Jenkins
,点击Global Tool Configuration(全局工具管理)

6.2、配置JDK

6.3、配置Git执行路径

6.4、配置SonarQube Scanner

6.5、配置Maven

6.6、配置NodeJS

对应操作系统中也需要安装Git,下图是Windows操作系统安装信息

七、创建自由风格任务
7.1、创建任务
在
Jekins首页
,点击左侧新建Item(新建任务)

创建一个自由风格的项目

7.2、填写基础信息
在
General
中输入描述

在 General 中输入自定义的工作空间

自定义的工作空间为:
E:\work\Jenkins\workspace\com-luckyun2.0\com-luckyun-base
拉取代码效果图

7.3、配置Gitlab代码拉取信息
在
源码管理
中输入Gitlab信息

7.4、配置自动触发构建信息
不需要自动构建时,可以省略此项配置
7.4.1、GitLab Webhook特性
在GitLab的工程项目中,使用Webhook可以使得使用者在推送代码或创建Issue的时候可以触发一个事前配置好的URL,而推送代码还是创建Issue,抑或是合并请求,使用者可以自行在GitLab中进行定制,GitLab会向设定的Webhook的URL发送一个POST请求。整体来说,Webhook指的是用户定义的HTTP回调,GitLab的Webhook在使用上通常具有如下特性:
由某些事件所触发,比如提交代码或者推送代码
一般会触发用户定义的URL,事件触发后,由GitLab发送HTTP请求
Webhook可以从外部更新或者部署
在GitLab CE版本中可以对每个项目进行设定,在EE版本中可以对每个项目或者每个组Group进行设定
设定方式:项目的 Settings ➔ Webhooks
7.4.2、Jekins中配置构建触发器
在
构建触发器
中选择推送到Gitlab时构建
,并选择触发事件

在
高级
中生成秘密令牌

7.4.3、Gitlab中配置webhook
点击
Settings
,点击Integrations
,输入Jekins 构建时的URL和密码令牌

点击
添加webhook

这里的URL就是Jekins中配置触发器时的获取
token的配置同理
7.4.4、Gitlab验证结果
使用Webhook所提供的
Test
按钮,进行结果的正确性验证

验证之后结果信息如下所示

至此,当开发人员通过Gitlab 推送、标签推送或合并请求时,会自动触发Jenkins构建任务。
7.5、配置代码分析信息
在
Build Steps
中 增加Execute SonarQube Scanner
构建步骤
,输入sonar分析属性
信息

Analysis properties配置信息
Java
Js
7.6、保存
最后,先点击
应用
,再点击保存

八、执行任务
8.1、从列表页启动
在
Jekins首页
,在对应任务列表中选择对应任务执行

8.2、从详情页启动
在
Jekins首页
,在对应任务列表中 点击任务进入任务详情界面,点击Build Now
执行任务

九、SonarQube扫描结果
由任务详情页,进入
SonarQube
平台

项目列表

项目总览
