專案管理工具 – Gitlab 介紹 | 專家論點【朱騏】

圖片來源:freepik

前言

新創公司的預算有限,在管理專案喜歡使用許多輕量化的專案管理工具,比較有名的像是 Trello, Asana, Toggl Plan,進階的如 Jira 以及 Microsoft Project,身為新創公司的 PM,必須經常轉換不同的專案管理工具。

截至到目前為止,我已經使用過 5 種的專案管理工具,每種工具都有其優缺點,也必須考量公司是否願意付費取得進階版的功能。我發現多數公司在使用這些工具不外乎有兩種問題:

  1. 僅使用免費版功能(不願意付費):公司缺乏使用以上專案管理工具的人員,因此隨意使用一種看上眼的工具,通常都只使用免費版的功能。
  2. 願意付費:公司願意付費使用專案軟體工具,但真正會使用工具的人並不多,主要看專案管理人員是否有清楚的使用概念,以及能否將正確流程分享給團隊。

工具雖然多,但關鍵還是管理者是否有清楚的專案管理概念,才能引導團隊走在正確的道路上。

「Gitlab」這套軟體,在使用方法上就跟我過去在使用 Trello 有非常大的不同,因此我想透過接下來的文章,一邊紀錄使用經驗,一邊分享其中的專案管理概念。

註:Trelo 是我最早接觸也是最喜歡的一套專案管理工具,它也可以使用在日常生活中。我在下方兩篇文章中,分享使用專案管理工具來管理興趣的學習,是相當有趣的應用:

一、專案管理工具 — Gitlab 介紹

參考《 和艦長一起 30 天玩轉 GitLab 系列 第 1 篇 》,Gitlab 這套工具嚴格說起來強項不在專案管理,而是完善的軟體開發工作流程 ( Workflow ) 支援,公司內的 Devops 可以相對輕鬆地建立一套程式部署流程。

DevOps:簡而言之,就是 Development + Operations ,也就是開發與維運。但大部分的文章都會說是「開發」、「測試」、「維運」三者的結合。更多資料可參考《 為什麼會出現 DevOps?

但選擇使用一套專案管理工具,往往決定於早期的產品團隊或是技術團隊,因此我們先不考慮 Gitlab 在專案管理的優缺點,而是直接介紹 Gitlab 內部的基本功能。

Gitlab 的專案架構 ( Projects )

每個專案管理軟體在一開始,都會要求使用者創建一個新的管理空間,這些空間可能叫做 Board、也可能叫做 Project,但不論如何都會有一個地方開始進行專案項目的建立與管理。

Trello 上叫做「Board (看板)」
Gitlab 上叫做「Project」

在使用習慣上,Gitlab 跟多數的專案管理工具不同的是:會以開發項目來區分 Project。可以想成一個「大 Project」是由多個「主要任務」構成,每個「主要任務」都是一個子 Project。
我們以「旅遊」來舉例,架構上就是:

以「旅遊」來做舉例

了解了這件事情後,我們就可以來討論 Gitlab 上「Projects」和「Groups」的差別與用處。Projects 是一個個獨立的開發任務,彼此之間沒有從屬關係 ; Groups 則是將 Projects 之間用從屬關係來分類。

Gitlab 上的 「Projects」 和 「Groups」

「Projects」 和 「Groups」的差異

若主要任務 Project 範圍還是太大,底下甚至還有包含其他 Project 時,在 Gitlab 上最好使用 Subgroup 來管理。

若「Project」還有「子 project」,則應該用「Subgroup」來管理

如果有按照上方的邏輯設置,最上層的 Group 會顯示 issue 所在 Project 的路徑,以下方的例子來說就是在 product-group (Group Level) > test (Project Level) 的 issue。

issue 上顯示路徑分層

二、在 Gitlab 中如何移動 Project

若今天我們要將一個現存 Project 搬到某個 Group 底下,步驟如下:

  1. 在 Group 中新增一個 Project
  2. 選擇「Import Project」,共有 8 種方式可以選擇

無法 Import Project 時的替代方案 (Walkaround)

Gitlab 在搬移 Project 時是使用 git clone 指令,但不知道為何搬移的速度非常非常的慢,甚至有可能導致 Project 的 import 畫面無限旋轉,Gitlab 的社區也非常多碰到類似問題的使用者。

我在過去幫公司轉移專案時,曾經等過 6 小時,最後還是以轉移失敗告終。如果使用上方 Gitlab 提供的方法都不行時,可以採用 walkaround — 手動匯出 CSV,再手動匯入新專案。

先把想轉移的專案,在 Issue 列表中點擊 「Import」,此時 Gitlab 會將 Project 中的資料整理成一份 CSV 檔案。

CSV 會匯出到 Email 信箱

等收到 CSV 檔案後,再次回到 Group,此時「直接創建一個新的 Project」,並使用「Import」將資料匯入到此 Project 中。

將 CSV 檔案匯入到新 Project 中

請特別留意:若採用此方法匯入資料,將導致原先設定好 Label 資料在輸入到新 Project 時遺失,必須手動新增回來。

瀏覽 4,412 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button