前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins-解决问题与集成通知

Jenkins-解决问题与集成通知

作者头像
wangmcn
发布2022-07-25 16:45:07
9950
发布2022-07-25 16:45:07
举报
文章被收录于专栏:AllTests软件测试

解决问题与集成通知

目录

  • 1、解决中文乱码
  • 2、解决无法收到邮件
  • 3、解决HTML报告显示不正常
  • 4、集成SLACK实现事件实时通知
  • 5、集成钉钉实现事件实时通知

1、解决中文乱码

以Widnows为例

当Jenkins部署在Tomcat里时,执行Jenkins,Jenkins控制台输出中文会显示乱码。

解决办法:

1、本机系统增加环境变量。

鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。

点击环境变量,系统变量里:

代码语言:javascript
复制
点击新建
变量名填写 JAVA_TOOL_OPTIONS
变量值填写 -Dfile.encoding=UTF-8

2、打开Tomcat安装目录下的bin文件夹,里面有个catalina.bat文件,修改此文件。

代码语言:javascript
复制
搜索:
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
添加:
-Dfile.encoding=UTF-8
修改后:
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dfile.encoding=UTF-8"

如图所示:修改后的catalina.bat文件。

3、Jenkins配置环境变量。

系统管理--->系统设置--->全局属性,选中环境变量,添加对应的键值对。

代码语言:javascript
复制
键 JAVA_TOOL_OPTIONS 值 -Dfile.encoding=UTF-8
键 LANG 值 zh.CH.UTF-8

如图所示:

2、解决无法收到邮件

一、问题:

系统设置里的邮件通知配置完后发送测试邮件是成功的,并且也能收到邮件。

但是项目构建结束,发送邮件日志,虽然显示已经发送邮件了,但是没有收到邮件。

二、解决:

1、系统设置里的Jenkins Location管理员邮件地址必须与Extended E-mail Notification、邮件通知里的邮件地址一致。

2、重新配置一次Extended E-mail Notification(例如:重新输入一次密码),保存后,再次执行项目就可以收到邮件了。

3、解决HTML报告显示不正常

一、问题:

1、如图所示:项目的测试报告(HTML Report)为.html格式。

2、打开发现报告显示不全,样式丢失。

二、解决:

1、系统管理--->脚本命令行。

2、输入以下参数,点击运行。

代码语言:javascript
复制
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

3、再次执行脚本,查看新生成的测试报告,如图所示:显示正常。

4、集成Slack实现事件实时通知

Slack是一个企业内部沟通协作工具,提供群组聊天和直接消息发送功能,支持移动端、Web 和桌面平台。

官方网址:https://slack.com/

Jenkins的Slack插件:https://github.com/jenkinsci/slack-plugin

桌面端下载地址:

Windows:https://slack.com/downloads/windows

Mac:https://slack.com/downloads/mac

Linux:https://slack.com/downloads/linux

移动端下载地址:

iPhone:https://slack.com/downloads/ios

Android:https://slack.com/downloads/android

Windows Phone:https://slack.com/downloads/winphone

1、创建Slack账号

登录官网https://slack.com/,点击GET STARTED。

之后点击Create a new workspace。

输入邮箱地址,之后点击Confirm。

之后邮箱会收到验证码,填写此处。

给公司或团队起个名字,例如MYTEST,点击Next。

给项目起个名字,例如MYTEAM,点击Next。

创建完成,点击See Your Channel in Slack。

进入后界面。

如图所示:MYTEST工作区URL为mytest-wvc8978.slack.com

2、查看Jenkins集成Slack的配置信息

登录网址:https://my.slack.com/services/new/jenkins-ci

如图所示:未登录,则先输入之前已创建的MYTEST工作区URL(mytest-wvc8978.slack.com),之后点击Continue。

之后输入邮箱与密码进行登录即可。

如图所示:已登录,选择频道(之前创建完成的MYTEAM项目),点击Add Jenkins CI integration

如图所示:显示的集成设置信息,频道、Token。

注意:记住设置说明的第3步,Base URL、Integration Token。

之后点击Save Settings即可。

3、在Jenkins中安装Slack插件

登录Jenkins,系统管理--->插件管理,搜索Slack Notification并进行安装。

安装完成后,系统管理--->系统设置--->Global Slack Notifier Settings,填写Slack的配置信息Base URL、Integration Token,其他字段为可选(可不填),最后保存即可。

4、应用到Jenkins项目里

进入Jenkins已创建完成的项目,点击配置,构建后操作添加Slack Notifications。

如图所示:根据需求,勾选不同的通知选项。

注意:可单个任务配置(只针对所设置项目,项目配置里,在Slack Notifications里配置Base URL、Integration Token),也可进行全局设置(所有的项目,在系统管理--->系统设置--->Global Slack Notifier Settings里配置Base URL、Integration Token)。

如图所示:Slack Notifications里Base URL、Integration Token为空,则使用的是全局设置。点击Test Connection,调试配置是否成功。

配置完成后,执行Jenkins项目,消息发送到Slack上。

如图所示:Web网页显示效果。

如图所示:移动端显示效果。

5、集成钉钉实现事件实时通知

钉钉,阿里巴巴出品,专为全球企业打造的免费智能移动办公平台。智能办公电话,消息已读未读,DING消息任务管理,让沟通更高效;移动办公考勤,签到,审批,企业邮箱,企业网盘,企业通讯录,让工作更简单。

官方网址:https://www.dingtalk.com/

PC端、移动端下载地址:https://tms.dingtalk.com/markets/dingtalk/download

1、配置钉钉

打开钉钉PC端,进入某个群(例如TEST群),打开群设置--->群机器人。

注意:如果你不是群主或管理员,且群主开启了仅群主和管理员可管理,那么你将无法创建机器人。

选择自定义机器人。

点击添加。

填写机器人名字(例如:Jenkins消息通知),点击完成。

复制webhook地址(此处将用于Jenkins当中的参数配置)。

如图所示:配置完成后,机器人会默认发送一条消息。

2、配置Jenkins

(1)安装插件

登录Jenkins,系统管理--->管理插件--->可选插件。

搜索:Dingding[钉钉],选中直接安装即可。

搜索:Dingding JSON Pusher,选中直接安装即可。

(2)发送默认消息配置

进入Jenkins某个项目(例如Test),进入配置,构建后操作添加钉钉通知器配置,将之前复制的钉钉webhook地址复制到钉钉access token里。再勾选需要的通知。

代码语言:javascript
复制
例如URL为 https://oapi.dingtalk.com/robot/send?access_token=1dcaabdd430273acc91a9067d8814dd522411febcb5802328ad381674f1d22e9
只需要复制 1dcaabdd430273acc91a9067d8814dd522411febcb5802328ad381674f1d22e9 即可

注意:Jenkins URL配置中需要在最后添加"/",要不然会导致拼接的Url出错,这里填写有问题会导致无法从钉钉中跳转到Jenkins任务。

保存项目后进行执行,此时钉钉会收到通知信息,点击某个通知,会跳转到Jenkins,登陆后跳转到此项目的构建页面。

如图所示:PC端显示效果。

如同所示:移动端显示效果。

(3)发送自定义消息配置

还是在此项目(Test)进行配置,构建后操作添加Dingding Json Pusher,将之前复制的钉钉webhook地址复制到钉钉access token里。

代码语言:javascript
复制
例如URL为 https://oapi.dingtalk.com/robot/send?access_token=1dcaabdd430273acc91a9067d8814dd522411febcb5802328ad381674f1d22e9
只需要复制 1dcaabdd430273acc91a9067d8814dd522411febcb5802328ad381674f1d22e9 即可

之后再创建dingding.json文件,Json文件路径填写全路径地址(例如dingding.json文件放到了D盘根目录下)。

dingding.json文件模板内容:

代码语言:javascript
复制
{
       "msgtype": "text",
       "text": {
              "content": "在这填写自定义内容"
       }
}

例如填写为:

代码语言:javascript
复制
{
       "msgtype": "text",
       "text": {
              "content": "IOS自动打包构建成功!\n下载地址:ftp://10.53.29.69/app/ios"
       }
}

保存项目后进行执行,此时钉钉除了可接收默认通知消息,还可接收到自定义通知消息。

如图所示:PC端显示效果。

如同所示:移动端显示效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档