[筆記] Mantis (Issue Tracking System)

Rex Chen
5 min readJun 18, 2017

--

https://www.mantisbt.org/

人腦有限

但…需求、問題、吐嘟歷史特

通通可以無上限!!

先聊聊早期的開發流程

以前使用Trello時,網站製作的過程大致上是:

  1. 需求方提出需求
  2. 專案管理者介入(協助)評估時程、規格、人力配置…等等
  3. 分派工作
  4. 執行方開始執行
  5. 專案管理者與需求方的驗收測試
  6. 上線

專案管理者替團隊做了什麼?

簡單來說,專案管理者就是需求方與開發端之間的middleware,負責:

  • 溝通協調:將需求方的目標轉化為工程端的SPEC
  • 控管成本:專案規模的控制,工程端人力資源的調派,訂出有多少事情要完成,優先順序為何,什麼時候要完成…等等
  • 掌握進度:掌控開發、測試、驗收的時程進度

為什麼要導入專案管理工具?

以過去的工作流程來說,工作的分派通常是繞著專案管理者轉,基層工程師通常是等別人將工作內容分析且規劃好之後,才會把真正要做的事情發派給你。一但失去了專案管理者的協助,自己又沒規劃好,很多事情可能就會因此受阻,甚至是造成團隊資源的浪費…

從專案管理者負責的工作中可以發現,專案管理者需要記錄、分派、追蹤、管理各種議題,並掌握開發進度、時程控管、驗收結果等。確保產品如期交付。而專案管理工具便提供了上述的大部分功能,讓事項能更準確的被追蹤與執行。

一般最常見的專案管理工具大概就是版本控制(Version Control)與議題追蹤(Issue Tracking)管理。

版本控制(Version Control)

  • 版本控制是軟體設計中的一種資源共享機制,藉由異動紀錄來進行檔案版本控管,為開發團隊建立更具彈性的開發流程。

議題追蹤(Issue Tracking)

  • Issue Tracking 是專案管理中的溝通機制。Issue Tracking system則是用來紀錄追蹤 議題的管理系統。

什麼是議題追蹤系統 (Issue Tracking System)?

軟體開發的過程不論是一個新功能的提案、一個原有功能出了問題、或是關於專案的討論項目,我們都可以將它稱為『 Issue (議題) 』。

常見的Issue Tracking system其實就像是一個討論區。可以幫助團隊記錄,大家接下來要做的事情。

需求方只要到系統上面許願(回報)希望開發者做的事情如:

  • 新功能的開發
  • 問題回報
  • 關於專案的討論項目…等等

P.S. 一份正常的錯誤回報資訊大概有三點:

1. 如何重現問題(步驟、時間點、操作環境…等等)

2. 預期/原本該有的功能描述

3. 實際所看到的結果

大致上一但項目提出or回報後,就會有負責人員(認領)或是由專案管理員(派發)工作項目。

我相信Trello如果好好制定團隊規範的話,當然也能做到類似的功能,但用到後期感覺缺少Dashboard或Timeline之類的整合型介面(也可能是我不會用)。一但卡片變多變複雜,描述又不夠明確的話,通常會石沈大海或成為todo-list守門員

那…什麼是Mantis?

MantisBT是一套使用PHP撰寫的開源(Open-source)議題追蹤(Issue Tracking)系統。

  • 提供Web介面(多國語言)
  • 權限管理
  • 全文檢索與報表功能
  • 外掛很多(Version ControlWiki…等等)
  • 這些功能好像大部分的議題管理工具都有…
  • 其實我才剛開始用…

安裝流程

  • 系統需求

PHP 5.5.9+

MySQL 5.5.35+, PostgreSQL 9.2+, or other supported database

a webserver (e.g. Nginx or Apache or IIS)

  • 本次安裝環境

Ubuntu 16.04 LTS

Nginx 1.10

PHP 7.1

MariaDB 10.1

  • 下載檔案
cd /tmpwget https://ncu.dl.sourceforge.net/project/mantisbt/mantis-stable/2.5.0/mantisbt-2.5.0.tar.gz
  • 解壓縮
tar zxvf mantisbt-2.5.0
  • 設定Host or 將檔案放置公開目錄
mv mantisbt-2.5.0/* /home/your_project_path/mantis/

基本設定

以mantix.yam.com為例

1.檢視/確認系統狀態

  • http://mantis.test.com/admin/check/index.php

2.進入系統初始化頁面

  • http://mantis.test.com/admin/install.php

3.建立/設定DataBase

  • 設定帳號、密碼、資料庫名稱..等等
  • 點擊 “Install/Upgrade Database”

4. 系統後台

  • http://mantis.test.com/admin
  • 確認config_inc.php & $g_crypto_master_salt有正確設定(/your_mantis_path/config/config_inc.php)
  • 設定完成

剩下的實戰之後再繼續寫…

--

--

Rex Chen

失智系半端工程師: 沒有記下來的,我一律選擇忘記