几个小工具插件:Configuration Slicing、Mail Watcher、Publish Over FTP
March 8, 2024About 1 min
几个小工具插件:Configuration Slicing、Mail Watcher、Publish Over FTP
三个用得不多但偶尔很顶用的插件。
Configuration Slicing:批量改 job 配置
按某一项配置维度批量查看/修改所有 job(仅支持普通 Freestyle Job)。入口 Manage Jenkins → Configuration Slicing,选一个「切片」(比如某个构建选项、某个节点绑定)后,就能在一个页面里看到所有 job 在这一维度上的取值并统一改,省得逐个 job 点进去。
Mail Watcher:节点上下线时发邮件
mail-watcher 插件。给节点配上通知邮箱后,节点 online/offline 状态变化时自动发邮件。构建农场里某台机器掉线能第一时间知道,比等构建排队卡住才发现要早。
Publish Over FTP:把产物发到 FTP
全局配置里先建一个 FTP 站点(下面例子里叫 release-ftp),然后在 Pipeline 用 ftpPublisher 把构建产物按规则上传。下面把本地 build\** 传到远端按「构建名_配置_分支_CL号」命名的目录:
ftpPublisher alwaysPublishFromMaster: false,
continueOnError: false,
failOnError: false,
masterNodeName: '',
paramPublish: null,
publishers: [[
configName: 'release-ftp',
transfers: [[
asciiMode: false,
cleanRemote: false,
excludes: '',
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
// 远端目录名:用构建变量拼出来
remoteDirectory: "${buildName}_${configuration}_${p4stream}_${env.P4_CHANGELIST}",
remoteDirectorySDF: false,
removePrefix: 'build', // 上传时去掉 build 前缀
sourceFiles: 'build\\**']], // 要上传的文件
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false]]
removePrefix: 'build' 配合 sourceFiles: 'build\\**',效果是把 build/ 下的内容平移到远端目录,而不带上 build 这一层。remoteDirectory 里直接引用构建变量(分支、CL 号等)能让每次产物落到独立目录,方便回溯。