2021年3月25日 星期四

[系列文章] 資安事件回應與管理 (四):開源專案管理系統 Redmine

 



最後,我們來看看知名的專案管理系統 Redmine,著重在問題與專案管理等管理,便於同時進行專案與問題追蹤與排程調度等等,特別在軟體開發領域用途及廣,甚至它連自己的官網都是用 Redmine 建置起來的。







功能介紹

Redmine 是一款歷史悠久的專案管理系統,提供非常多適用於專案管理系的功能,若有不足的還可以安裝外掛程式擴充及功能。其中較適合這次評選的功能如下:
  • 支援多專案管理
  • 角色式存取控制
  • 問題追蹤管理
  • 經由電子郵件進行問題立案
  • 支援繁體中文介面

單純就以上幾項功能,已經足夠我們用做求助者問題建立與 C-Team 追蹤管理。Redmine 最強大之處在於問題項目可以俱備多種應用欄位,例如指派者、被指派者、狀態、處理進度、自訂欄位等等,都可以讓我們在系統上很容易的一眼查看各個專案的問題狀況與解決進度。









系統建置

Redmine 不僅跨平台更是跨資料庫,因此我們可以很容易的安裝在各種不同的平台之上:

作業系統
  • Unix
  • Linux
  • macOS
  • Windows

資料庫
  • MySQL
  • MariaDB
  • PostgreSQL
  • SQLServer
  • SQLite


安裝 Redmine 有非常多種方式可以選擇,可以選擇一步一步安裝,也可以下載預先打包好的 LXC 範本檔、Docker 容器檔加速上線試用。
docker pull redmine 
docker run -d --name some-redmine redmine

成功啟動以後,即可使用瀏覽器進入 http://ip 開始測試使用,預設帳號 admin,密碼 admin。 

注意:這個啟動方式的資料是採用內建的 SQLite,若要當作正式上線使用,請搭配其它資料庫系統。


進入系統主畫面


登入之後,首先要建立帳號給接下來的人員使用,請點選左上角的 網站管理 > 用戶清單,再按下 建立新用戶,建立完成後,改用這些用戶進入系統操作。


建立新用戶










系統操作

以剛才建立好具管理者權限的用戶登入,按下左上方 專案清單 > 建立新專案,完成後即可依據不同的 NGO 單位所屬專案,用來放置該單位所回報的問題。


建立新專案


建立完成後,點選進入該專案,並切換至 成員 頁籤,將 NGO 單位人員的帳戶以及 C-Team 負責的工作人員加入,並選擇對應的角色,即可啟動此專案的使用。


加入新成員


接下來以回報問題人員的用戶登入,開始建立新的問題狀況。點選 專案清單 > 點選 該專案,按下左上角的 加號 按鈕,展出選單點選 建立新議題


加入新問題


來到建立問題的表單,請依據實際情況填入。或填寫者就是 NGO 單位回報者,則被分派者可以留空,待 C-Team 人員指派處理的工作人員即可。


加入新問題


至此已經完成問題的回報,處理人員可以基於這個問題的處理狀況,回來填寫相關的內容、狀態 (新建立、處理中、已解決、結案等等),以及調整進度百分比與完成時間等,讓整個處理的過程一目了然。


問題建立完成


當接手的 C-Team 資安專家開始處理時,可以在該問題中提出需要資訊請求,或是經已經追查的目前資訊與說明登打,並跟進調整處理的狀態由新建立 (New) 改為處理中 (In Progress),以及進度改為 60%,其它人員很快可以了解目前的狀況。


問題處理中與狀況回報


當相關的欄位填寫完整時,還可以在甘特圖與行事曆欄位清楚的看見處理排程,也可以在耗用工時之處掌握 C-Team 人員用於協助 NGO 處理問題時所耗用的時間,確認人員的支援程度是否不足或者過載。












進階操作

對於大部份初次使用 Redmine 的人,通常第一眼都會被它老派的介面給嚇住...在現代網站的審美觀來看,Redmine 確實比較老派,而且重點是字太小了!

不過不用太擔心,採用開源與開放的軟體好處就在於我們能夠輕鬆的為他做擴充與客製,Redmine 內建了佈景主題系統,稍微來點操作就可以把整個 Redmine 煥然一新,連自己都認不出來這是 Redmine 啦! (笑)


PurpleMine 2 佈景主題


我精選了一個很不錯的主題,請到官網下載後放入 Redmine 安裝路徑的 public/themes 資料夾裡,再到 網站管理 > 設定 裡,將 畫面主題 的下拉清單選擇為剛剛放置的 PurpleMine 2-master 再按下 儲存 即可。


設定啟用 PurpleMine 2 佈景主題


啟用新的佈景主題以後,看起來是不是好多了呢?容易識別的配色,適當的文字大小,簡直是讓整個 Redmine 的介面翻新了好幾個世代啊。


顯示 PurpleMine 2 佈景主題


在現代的軟體專案管理上,看板 (Kanban) 是一種可以提升效率的好用方式,以簡單易懂的區塊式看板,能夠讓我們一眼看出每個事件現在的處理狀況,等待處理的議題,以及每個人員所分配任務的執行進度。

Redmine 原生沒有提供這個功能,但也別擔心。Redmine 其中一個優勢就是彈性的外掛系統,也已經有許多熱心人士開發實用的外掛程式,包括看板也有。



看板外掛程式


這支外掛程式採用標準的 Redmine 外掛安裝方式即可簡單完成:


# 切換至 Redmine 外掛程式目錄 (依實際安裝位置)
cd /var/www/redmine/plugins/

# 下載看板外掛程式
git clone https://github.com/happy-se-life/kanban.git

# 重新啟用 Redmine 站台 (請依據所使用的網頁伺服器)
sudo systemctl restart apache2 


接著以管理員帳戶登入 Redmine,按下左上方的 網站管理 > 外掛程式,在此即可看見已經成功啟動的看板外掛程式。



看板外掛程式已啟用


回到專案裡,進入專案的 設定 頁面,拉到最下方將 Kanban 勾選,存檔後該專案即會多出 Kanban 的頁籤。



對專案開通看板外掛程式


切換到 Kanban 頁籤後,即會以不同區塊呈現不同議題的現有狀態,上方欄位是顯示每個議題目前的狀況,以下面的範例圖來看,可以很輕易的識別出正在處理中的議題有那些,新建立待處理的有那些;而左方則以人員為分隔,對於由誰正在負責那些項目,一眼可見,非常方便。



專案議題看板









小結

做為一個專案管理與問題追蹤系統,Redmine 具有很大的彈性與擴充能力,尤其是當我們在面對眾多單位求援時,怎麼依據不同的單位對應不同專案將會是重要課題;而每次的問題回報後的追蹤歷程,更是所有後續事件的重要參考依據。

在這兩個面向上 Redmine 都做的相當到位,甚至我們可以將它擴充當做工作日誌管理系統,將所有工作事項全部建立在上面,即可利用它的各種統計與報表功能,為我們產出需要的結果,省下大幅的人力文書作業時間。









參考資料