Mattermost 筆記

2022-12-16 15:00:16


Mattermost 是一個開源、可私有化部署的線上通訊平臺,可以和Github、Jira、Jenkins、Gitlab等做整合,所以也可以作為 ChatOps 的一種實現方式。

很早之前為開源專案 boat-house 做的一個教學,今天偶爾翻筆記的時候找了出來,在這裡也分享一下。

部署

使用docker快速部署

## 預設埠是 8065
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

設定

  1. 初始化
    輸入郵箱地址,使用者名稱,及登入密碼,預設第一個使用者的是系統管理員

選擇「Create a new team」 >> 輸入team的名字

輸入或者預設當前是後續team的連結地址,點選 Finish

  1. 本地設定
    在左上角點選使用者名稱旁邊的三道槓,點選「Account Settings」,點選「Display」,點選「Language」,選擇語言為「中文(簡體)」,點選「Save

  2. 進入後臺管理

  3. 設定網址,把存取Mattermost的網址輸入進去即可,如果是Azure虛擬機器器的話可以輸入自己設定的DNS名稱再加埠號

  4. 設定語言
    預設的伺服器端語言、預設使用者端語言、以及可選的語言(如果只選中文的話,使用者端進入display設定時 將看不到language選項)

使用者端

桌面程式

https://about.mattermost.com/downloads/

收到訊息時提醒

Android

https://about.mattermost.com/mattermost-android-app/

使用

  1. 邀請新使用者

  2. 建立頻道
    可以在公共頻道里面聊天,也可以自己建立私密的私聊頻道

  3. 聊天
    回覆單條留言資訊

傳送圖片
截圖到聊天視窗,ctrl+enter傳送

擴充套件

Jenkins

https://github.com/mattermost/mattermost-plugin-jenkins

  1. 在mattermost中進行設定

  2. 在jenkins中進行設定
    安裝mattermost外掛,主選單 >> Manage Jenkins >> 選擇「Mange Plugins」 >> Available >> 選擇「Mattermost Notification Plugin」 >> 點選「Install without restart」按鈕

點選使用者名稱,進入後點選左側選單中的Configure,在Current token中輸入Mattermost生成的私鑰,點選「Add new token」生成token

  1. 轉到使用者聊天介面,建立一個頻道「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 [email protected] \
           --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版上登入

  1. /jira connect

  2. 設定需要接受的專案及資訊

最終效果如下,jira上的操作將推播到mattermost中

GitHub

  1. 存取 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

  2. 複製對應的資料到對應的框中,「Save」

  3. 進入你的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

  1. 輸入 /github connect,輸入github賬號和密碼

輸入github 註冊郵箱收到的Verification code

點選 「Authorize ******」

/github me 顯示當前賬號的資訊
/git todo 待完成工作列表

參考:https://github.com/mattermost/mattermost-plugin-github