基本流程走通后,我们还可以为项目增加webhook、文件存档、邮件发送、声音提示等配置
插件推荐
插件名 | 作用 |
---|---|
Gitlab | 代码提交到Gitlab上后自动触发Jenkins构建 |
Jenkins Email Extension Plugin | 可定制化的发送邮件 |
Sounds Plugin | 构建前/后发出声音提示 |
HTTP Request Plugin | 能够发送HTTP请求 |
Build Monitor View | 为Jenkins新建监控视图,便于在大屏幕上显示项目构建进度 |
添加gitlab的webhook
当开发人员push代码到gitlab上时,我们想要立即触发一次Jenkins构建,因此需要添加gitlab的webhook。
方案1
(1)在项目配置里找到”构建触发器“,勾选Poll SCM
,但不用填写日程表(使用cron格式填写日程表的话,会定时查询git仓库是否有变更,如果有则自动构建,但不会因为push而自动触发构建)
(2)然后拥有项目git管理权限的人员,进入需要接入Jenkins的git项目,点击Settings,点击页面左侧的WebHooks,在url的输入框中输入http://<jenkins_server>/git/notifyCommit?url=<git仓库地址>[&branches=分支名1,分支名2]
后,点击AddWebHook
,即添加成功webhook,如下图所示:
(3)当webhook设置后,需要手动构建一次项目,否则webhook不会被识别到;且每一次修改pipeline中的gitlab仓库信息时,都需要进行一次手动构建。
方案2
方案1有一个缺陷,只能在分支提交时触发自动构建,而且当一个项目push代码后,所有拉取该项目代码的jenkins都会被自动构建。因此如果需要更强大灵活的webhook,可以参考方案2。
(1)下载插件
Gitlab
(2)进入项目配置页,可以看到在
构建触发器
中新增了Build when a change is pushed to Gitlab
一项,如下图Webhook配置
点击
更多
能够看到构建分支等等更多配置,如下图:Webhook配置
(3)gitlab中添加Webhook
项目管理人员进入git项目中,点击
Settings
——Integrations
,进入到Webhook的添加页面。将(2)中的webhook url以及Secret Token填写到后,选择相应的trigger事件即可,如下图:gitlab中添加webhook
文件存档
当使用mvn
进行单元测试或打包构建后,我们想要获取测试报告或者二进制包,因此需要将这些文件进行存档。
使用archiveArtifacts
可以获得任意满足条件的文件,使用junit
可以针对xml格式的测试报告进行存档,如下:
archiveArtifacts 'target/*jar'
junit '**/target/surefire-reports/TEST-*.xml'
构建后,可以在Stage View中的箭头处对文档进行查看下载。
邮件发送
这里主要介绍两种邮件的发送方法,一个是Jenkins自带的邮件发送,一个是插件Jenkins Email Extension Plugin
提供的邮件发送。推荐使用第二种方法,可以定制复杂的邮件发送格式,更加灵活、强大。
1.Jenkins自带的邮件通知的配置
进入系统管理
——系统设置
中,找到Jenkins Location
项,配置其中的系统管理员邮件地址
,如下图所示:
然后找到
邮件通知
项,配置发送邮件的SMTP服务器和用户认证,如下图所示配置SMTP认证
配置成功后,即可在Pipeline中添加邮件发送语句,格式为:
mail body: "", subject: "", to: ""
2.使用插件发送邮件
下载插件Jenkins Email Extension Plugin
。
进入系统管理
——系统设置
中,找到Extended E-mail Notification
项,如下图所示配置SMTP服务器和用户认证:
并且可以配置邮件的
Default Subject
、Default Content
(模板见下篇),然后在邮件发送时用变量DEFAULT_SUBJECT
、DEFAULT_CONTENT
进行调用,在pipeline中发送邮件的格式如下:
emailext attachlog:true, body: ‘$DEFAULT_CONTENT’, subject: ‘$DEFAULT_SUBJECT’, to: ‘xxxx@****.com'
声音提示
下载插件Sounds Plugin
、HTTP Request Plugin
。
插件安装后,首页右侧会出现Sounds
图标,点击可以进入Sounds页面测试声音是否能够正常发出,如下图:
可以看到,Sounds提供了两种声音访问的形式:一个是插件自带的音效即Play sound from internal sound archive,但是这种方式只能在freestyle的项目中使用;另一种方式是通过发送HTTP请求的方式,一旦请求成功,音效就在所有打开Jenkins的浏览器中响起(可在
系统管理
——系统设置
——Jenkins Sounds
中更改),请求的url格式为http://jenkins_server/sounds/playSound?src=<URL>
,其中,src的值为在jenkins服务器中的文件地址或一个http的url。
例如,我们在Jenkins的容器中,下载一段音频(wget http://xmdx.sc.chinaz.com/Files/DownLoad/sound1/201712/9563.wav)存放在/var/jenkins_home/sounds/文件夹下,那么我们可以通过URL http://localhost:8080/sounds/playSound?src=file:///var/jenkins_home/sounds/9563.wav
来触发音效的播放。在Pipeline中,我们利用插件HTTP Request Plugin进行http请求的发送,语法生成配置如下:
因此,pipeline中发送声音请求的语句如下(soundsId即Jenkins管理员的账号密码认证ID):
httpRequest authentication:"${soundsId}", url:"http://localhost:8080/sounds/playSound?src=file:///var/jenkins_home/sounds/9563.wav"
监控视图
常规的jenkins视图并不利于实时监控,只有一个小小的图标表示项目构建成功还是失败,失败后也没有更详细的信息,因此可以使用监控视图,适合投屏到大屏幕上对项目的构建进行实时监控。
(1)下载插件Build Monitor View
(2)添加新的视图:在Jenkins的首页,所有项目上方的视图选择tab中点击+
后可新建视图,如下:
然后在视图新建页面中选择
Build Monitor View
、填写视图名称后,点击OK
添加新视图2
然后进入视图的配置页面,选择需要添加到视图中的项目,或者配置过滤规则后,点击
保存
,即可在首页看到该新视图新视图
(3)实时监控构建情况
点击进入新视图就可以实时查看构建情况:红色表示构建失败、绿色表示构建成功、灰色表示构建中断;而且能够看到时间、构建趋势等等、git提交人等等多个信息。如下是官方的效果展示图:
图片.png
网友评论