Jenkins 系统配置杂记
Jenkins 系统配置杂记
Manage Jenkins → Configure System 里几个用到过的设置项,记一下入口和用途。
全局共享库(Global Pipeline Libraries)
让所有 Pipeline job 都能调用的共享库。这里配的库是「受信任」的——不受 sandbox 限制,可以用 @Grab。常用 Git 仓库作为共享库来源,在 Global Pipeline Libraries 里填仓库地址、默认分支、加载方式即可。把团队通用的构建步骤(打包、上传、通知)抽进共享库,各 job 的 Jenkinsfile 就能瘦下来。
扩展邮件的 Debug 模式
用 Email Extension 插件时,如果某条 Pipeline 发邮件失败、其它 Pipeline 却正常,又查不出原因,可以在系统配置里打开扩展邮件的 debug 选项,然后在 post 阶段就能看到邮件发送的后台日志。
平时别开——即使发送正常,日志也会刷出一大堆。常见的失败原因之一是邮件太大发不出去,开了 debug 一看日志就明白了。
控制台输出解析(Console Output Parsing)
配合 Log Parser 插件,在系统配置里指定全局解析规则文件,之后各 job 的控制台日志就能按规则高亮错误/警告并分段。规则文件格式见 Log Parser 一节。
Publish Over FTP 的服务器
在系统配置的 FTP Servers 里先建好 FTP 站点(地址、端口、凭据、远端根目录),Pipeline 里 ftpPublisher 的 configName 引用的就是这里配的站点名。用法见 Publish Over FTP 一节。
自定义 Active Directory 域名
用 Active Directory 插件做登录时,可以在配置里指定自定义的 AD 域名,而不是让插件自动发现——多域环境或自动发现不通时用得上。
Slack 通知踩坑
接 Slack 通知时遇到 Slack API files.upload error: not_in_channel,原因是 Slack bot 没有被加进目标频道。把 bot 邀请进对应 channel 即可,不是权限 scope 的问题。