iT邦幫忙

2021 iThome 鐵人賽

DAY 18
1
DevOps

DevOps 萌新的 TeamCity 極速上手寶典系列 第 18

第十八天:用 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 做通訊平台的團隊可以即時的收到建置通知。有興趣的讀者不妨拿這當做題目,也歡迎與 筆者聯絡 ,看能否一起聯手開發,解決團隊需求也同時造褔社群。

參考資料


上一篇
第十七天:TeamCity 通知機制
下一篇
第十九天:用 Gradle 做 Build Scan
系列文
DevOps 萌新的 TeamCity 極速上手寶典31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言