第十八天:用 Plugin 扩充 TeamCity

昨天提到 TeamCity 支援几个不同的通知频道,可以在建置任务成功或失败的时候通知我们。不过现在的通讯平台愈来愈多,每个团队的偏好也不一样,TeamCity 内建的通知机制很难满足每一种需求。若是团队习惯使用的通知频道 TeamCity 还不支援,该怎麽办?

TeamCity Plugin

好在 TeamCity 支援 Plugin 的设计,可以依照不同的情境或需求来扩充 TeamCity 的功能,增加通知频道就是一个很好的例子。

所有 JetBrains 相关产品的 Plugin 都集中放在 Marketplace 平台 上,将搜寻范围切到 Team Tools,输入关键字 Notifier,可以看到如 Telegram NotifierMicrosoft Teams Notifications 等不同通讯平台的 Plugin 可以安装。

注:若您使用的是 TeamCity Cloud,由於 Instant 不是安装在自己可直接管理的机器上,所以无法直接安装 Plugin。若有安装 Plugin 的需求,可以直接提交一个 Support Ticket ,会由技术支援团队协助安装和设定。

安装 TeamCity Plugin

安装方式很简单,先进到您的 TeamCity Instance,进到 Administration,选左边的 Plugins 设定。TeamCity 会列出目前所有安装的 Plugin,接着您可以:

  1. 使用 Browse plugin repository 直接跳转到 Marketplace 页面搜寻 Plugin 後下载安装,TeamCity 会引导您完成这个流程,完成後也会依需要重新启动。这个方式应该是最简单无痛,也是笔者推荐的安装方式。(流程可参考下方的录影)
  2. 使用 Upload plugin zip 直接上传一个 Plugin 的 zip 安装档,TeamCity 会自动解压缩安装。这种方式比较适合用在内部用、没有公开发布到 Marketplace 的私有 Plugin。

不论您是使用以上哪一种方式,都不需要额外下指令或调设定档,非常简单。

启动/关闭 Plugin

TeamCity 内建就搭载为数不少的 Plugin,若有些 Plugin 很少用到,或还在测试刚安装好的 Plugin,可以透过开/关 Plugin 来调整 TeamCity 的功能。

开发 TeamCity Plugin

若 Marketplace 上还是没有您需要的 Plugin,那另一条路就是为 TeamCity 开发一个!大体来说,开发一个 Plugin 大概需要掌握以下几个技能:

  1. 需要会用 Kotlin 开发
  2. 对 TeamCity UI Component 有基本的认识,才有办法扩充 TeamCity 的介面
  3. 对 TeamCity 提供的 API 及 Hook 有基本的认识,才知道可以在哪些点跟 TeamCity 结合

若您对开发 TeamCity Plugin 有兴趣的话,可以从这份 官方文件 ,以及 2 部官方 Webinar 活动的录影(录影 1录影 2 )开始入门。

後记

笔者之前曾想过一个很符合在地需求的题目,就是打造一个支援 LINE Bot 或 LINE Notifier 的 TeamCity Plugin,方便使用 LINE 做通讯平台的团队可以即时的收到建置通知。有兴趣的读者不妨拿这当做题目,也欢迎与 笔者联络 ,看能否一起联手开发,解决团队需求也同时造褔社群。

参考资料


<<:  【Day 08】基本程序介绍

>>:  Day 11 Swift语法-进阶篇(4/5)-Protocol

吾即是汝,汝即是吾,Ruby 30 天刷题修行篇第二话

大家好,这里是 A Fei,今天是铁人赛开赛第二天,也是连假开始前的小周末,在这先祝各位读者中秋佳节...

JavaScript入门 Day10_有关数字的语法2

昨天讲了 Math.abs( ),今天来讲Math.max( ) 那他是什麽呢,来看看下面的 cod...

[DayN]上传档案绕过

「欸我记得你们家有锁档案上传的功能?」 「哼哼这种东西也想挡住我吗~」 通常连网设备开的PORT通常...

AI - 海关图图片侦测判别

1.建立资料库 ----- 建立资料库 CREATE DATABASE [PicTest] ON P...

[Day 13] 从 tensorflow.keras 开始的 EfficientNet 生活

0. 进度条 模型 进度 VGG Net 完成 ResNet 完成 DensNet 完成 Mobil...