Ansible 如何發送 notification 到 HipChat?
Last updated
Last updated
HipChat 是相當老牌線上通訊服務,官方也提供了不少整合方案。凍仁曾透過它整合 Ansible, Git, Jenkins, Redmine, Skype 和 Zabbix 等服務,當資訊集中在一處後,維運起來也會輕鬆許多。這裡凍仁將介紹 Ansible 整合 HipChat 的部份。
▲ 上圖為 Ansible 發送 notification 到 HipChat 的範例。
hipchat module 是用來發送訊息到 HipChat 上的通知模組 (notification modules),我們只需取得 Room notification Token 即可使用。
撰寫發送 notification 到 HipChat 的 Playbook:請依步驟 2 取得的參數設定 hipchat_token
和 hipchat_room
等變數。
註:
raw
和endraw
是為了相容 GitBook 所增加的語法,您可能會在某平台上看到它,請忽略之。
取得 HipChat 的 Room Notification Token。
登入 HipChat 後,開啟 web app。
建立一間新的 Room。
幫這個 Room 取個名字並簡單介紹一下用途。
回到 HipChat 的管理介面,並找到 Group Admin (群組管理) 。
在 Rooms 底下找到要整合 Ansible 的 Room。
點選左側的 Tokens。
在 Create New Token 輸入 Ansible
和選擇 Send Notification
的 Scopes,之後接下 Create。
Token 建立完畢後,即可在紅框裡取得剛建立的 Token。
執行 Playbook。
在 HipChat 接收從 Ansible 送出的 notification。
現在我們可以在 HipChat 裡接收來自 Ansible 的 notification 了!
Ansible 與 HipChat 的組合在使用上會比 Slack 簡單許多,雖然 HipChat 不比 Slack 的高度客製化,但凍仁認為它的門壏比較低,適合需求較單純的團隊。
至於要選哪一家作為 ChatOps 的平台?這就是另一門學問了。(笑)
凍仁先前於高雄任職的公司有使用 HipChat,但後期只剩 IT 維運部門在用就是。