Mattermost 是一個開源、可私有化部署的線上通訊平臺,可以和Github、Jira、Jenkins、Gitlab等做整合,所以也可以作為 ChatOps 的一種實現方式。
很早之前為開源專案 boat-house 做的一個教程,今天偶爾翻筆記的時候找了出來,在這裡也分享一下。
部署
使用docker快速部署
## 預設埠是 8065
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview
配置
- 初始化
輸入郵箱地址,使用者名稱,及登入密碼,預設第一個使用者的是系統管理員
選擇“Create a new team” >> 輸入team的名字
輸入或者預設當前是後續team的連結地址,點選 Finish
-
本地配置
在左上角點選使用者名稱旁邊的三道槓,點選“Account Settings”,點選“Display”,點選“Language”,選擇語言為“中文(簡體)”,點選“Save”
-
進入後臺管理
-
配置網址,把訪問Mattermost的網址輸入進去即可,如果是Azure虛擬機器的話可以輸入自己配置的DNS名稱再加埠號
-
配置語言
預設的服務端語言、預設客戶端語言、以及可選的語言(如果只選中文的話,客戶端進入display配置時 將看不到language選項)
客戶端
桌面程式
https://about.mattermost.com/downloads/
收到訊息時提醒
Android
https://about.mattermost.com/mattermost-android-app/
使用
-
邀請新使用者
-
建立頻道
可以在公共頻道里面聊天,也可以自己建立私密的私聊頻道
-
聊天
回覆單條留言資訊
傳送圖片
截圖到聊天視窗,ctrl+enter傳送
擴充套件
Jenkins
https://github.com/mattermost/mattermost-plugin-jenkins
-
在mattermost中進行配置
-
在jenkins中進行配置
安裝mattermost外掛,主選單 >> Manage Jenkins >> 選擇“Mange Plugins” >> Available >> 選擇“Mattermost Notification Plugin” >> 點選“Install without restart”按鈕
點選使用者名稱,進入後點選左側選單中的Configure,在Current token中輸入Mattermost生成的私鑰,點選“Add new token”生成token
- 轉到使用者聊天介面,建立一個頻道“Jenkins-CI-CD”
輸入 /jenkins connect
Hubot 機器人
## 複製git上的檔案到本地
sudo apt-get install git
cd /
mkdir hubot
cd hubot
git clone https://github.com/loafoe/hubot-matteruser
建立映象
docker build --build-arg hubot_owner=root \
--build-arg hubot_name=pang \
--build-arg hubot_description=pang \
--tag=hubot-matteruser \
建立容器
docker run -it \
--env MATTERMOST_HOST=jasonchen01.southeastasia.cloudapp.azure.com:8065 \
--env MATTERMOST_GROUP=leansoftx \
--env MATTERMOST_USER=robot@leansoftx.com \
--env MATTERMOST_PASSWORD=123456 \
--env MATTERMOST_USE_TLS=false \
-p 8080:8080 \
--name hubot-matteruser \
hubot-matteruser
聊天,使用設定好的hubot_name作為字首,比如 pany help
Jira
https://github.com/mattermost/mattermost-plugin-jira
第一步:mattermost上開啟jira外掛
啟用外掛,選擇“true”
複製webhook secret中的文字,組成URL,例如
https://SITEURL/plugins/jira/api/v2/webhook?secret=YB96EBo3lBFfcqTnGItFeSVtTLj0Cy81
第二步:在jira配置webhook
系統 >> 網路鉤子
輸入名稱、第一步獲取到的URL,並把所有的相關時間勾選上
第三步:在jira上安裝應用程式
在mattermost的聊天框中,輸入/jira install
根據提示在JIRA上進行配置,尤其注意PUBLIC KEY的部分
輸入mattermost站點的地址
再次輸入mattermost站點的地址
應用程式名稱:Mattermost, 應用型別:通用應用程式
輸入客戶關鍵字、客戶名稱、公共關鍵字
第四步:mattermost上接受jira的資訊
注:現在web版上登入
-
/jira connect
-
設定需要接受的專案及資訊
最終效果如下,jira上的操作將推送到mattermost中
GitHub
-
訪問 https://github.com/settings/applications/new,填寫
Application name: mattermost
Homepage URL: https://github.com/mattermost/mattermost-plugin-github
Authorization callback URL:https://your-mattermost-url.com/plugins/github/oauth/complete
-
複製對應的資料到對應的框中,“Save”
-
進入你的rep,“settings” >> 點選"Add webhook" >> 填寫
選擇Let me select individual events
勾選
Issues, Issue comments, Pull requests, Pull request reviews, Pull request review comments, Pushes, Branch or Tag creation, Branch or Tag deletion
- 輸入 /github connect,輸入github賬號和密碼
輸入github 註冊郵箱收到的Verification code
點選 “Authorize ******”
/github me 顯示當前賬號的資訊
/git todo 待完成工作列表