iT邦幫忙

2021 iThome 鐵人賽

DAY 18
1
DevOps

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

第十八天:用 Plugin 擴充 TeamCity

  • 分享至 

  • xImage
  •  

昨天提到 TeamCity 支援幾個不同的通知頻道,可以在建置任務成功或失敗的時候通知我們。不過現在的通訊平台愈來愈多,每個團隊的偏好也不一樣,TeamCity 內建的通知機制很難滿足每一種需求。若是團隊習慣使用的通知頻道 TeamCity 還不支援,該怎麼辦?

TeamCity Plugin

好在 TeamCity 支援 Plugin 的設計,可以依照不同的情境或需求來擴充 TeamCity 的功能,增加通知頻道就是一個很好的例子。

所有 JetBrains 相關產品的 Plugin 都集中放在 Marketplace 平台 上,將搜尋範圍切到 Team Tools,輸入關鍵字 Notifier,可以看到如 Telegram Notifier 、 Microsoft 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) }}
直播中

尚未有邦友留言

立即登入留言