over 11 years ago
一直以來( 5-6 年前開始..),我都是用 IRC 在管團隊的 Log 和通知。
這個習慣最早以來是跟前輩學習來的。這在比較強悍的技術團隊內部,幾乎是行之有年的標準 Convention。
( 可見 Flickr 著名的 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
投影片 (P.52),不過他們大概 2006 年就開始這樣做了,這篇只是後來比較漂亮的整理...)。
當年 在 T 客邦,也是用 redmine + IRC bot 自己搞了一套。
把 Log 都打到 IRC 有很多好處。團隊成員去開會、或者暫時離開。回到電腦前,還是可以很快速的掌握剛剛發生了什麼事。再加上 issue tracking 或者是 system alert 其實是很洗信箱讓人容易分神的東西,所以我們把這些幾乎都搬到 IRC 上,建立出一個可以非同步但又高效率的合作開發模式。
不過這個模式還是有一些極限,所以最近在 survey 過後,最近我決定把 公司 整套 solution 搬到 Hipchat 上。
主要搬家原因
- 發現每個同事一進來都要教怎麼用 irssi + 工作站掛 irc,學習成本很高
- 公司聊天室是 skype, log 在 irc 上,開兩窗有點麻煩。加上 skype-bot 不是不能作,只是我覺得 skype-bot 很吵…
- 人員離職很麻煩,因為要把 irc room 的 key 和 info 整套換掉,無法作權限控管
- demo 給別人看 irc solution 時也很麻煩,因為對方一定看得到我們的 key ....
- 對 irc 訊息上色要試很久,對一般的 developer 門檻有點高
- irc log 多半要切到桌機才能看,沒有 mobile solution。
所以最後就整套就搬到 Hipchat 了。看起來大家現在是用的蠻習慣的。
Hipchat 的好處
- 主要是 Web Based,但有 iOS, Android, Mac, Windows, Linux client
- 有 group 和 permission control,踢人加人很方便
- API 整合,寫 bot 很容易
- 聊天行為與一般 IRC chat 蠻相近的
- 貼圖貼檔案貼 Link 很方便
- 一樣會存歷史紀錄,就算離線了,重新上線還是可以找 Log
- 很多主流系統整合支援( github, redmine, capistrano, airbrake….)
- 5 人以下現在是免費的方案…
Hipchat integration
我們目前是把目前的幾種 Log 都打到 hipchat 上
- Github (github 的 hook 支援 hipchat, pull request, push , merge 都會通知...)
- Capistrano Deploy http://blog.hipchat.com/tag/capistrano/
- Airbrake ( server error 通知系統, airbrake 支援 hipchat )
- Redmine (官方的 hipchat/redmine_hipchat 不好用,所以我自己改了一隻 rocodev/redmine_hipchat 出來)
之後還會掛更多東西上去…