Phabricator 管理員手冊/比較 Phabricator 和...
人們經常將 Phabricator 與其他技術進行比較,例如 Bitbucket、GitLab[1][2]、GitHub[3]、Launchpad[4]、Mantis 錯誤跟蹤器等。
話雖如此,沒有哪個解決方案比另一個解決方案“更好”,本頁將幫助您瞭解各種類似技術的設計方式及其不同之處。
通常這僅僅是主觀選擇和習慣的問題,但確實有一些區別,例如不同的業務工作流程等。
Phabricator 與其他軟體和服務的關鍵區別
GitLab、Launchpad、Phabricator、Phorge 和 Mantis 錯誤跟蹤器都是自由軟體。這意味著您有權學習、修改、改進和共享它們。這意味著您可以
- 在您自己的伺服器上自行託管這些平臺(100% 的資料所有權)
- 擁有內部部署解決方案(您的伺服器,但有官方協助)
- 找到一個服務提供商(有人在他們的基礎設施上負責所有事情)
而 Bitbucket 和 GitHub 則是專有的軟體即服務,這意味著他們負責所有事情,但您無權學習、修改、改進和共享平臺(您不能將其安裝在您的伺服器上等)。
GitHub、GitLab、Phabricator 和 Launchpad 可以“作為服務”使用,由其各自的公司提供。實際上,Phabricator 官方服務不允許每個人免費註冊。無論如何,Phabricator、GitLab 和 Launchpad 可以被一些提供商“作為服務”使用(本書不推薦)。
Phabricator 和 Phorge 支援多種原始碼版本控制系統:git、Subversion、Mercurial。此功能非常獨特。
GitLab 和 GitHub 只支援 git。
在 Phabricator 和 Phorge 中,優先考慮軟體協作而不是補丁。這透過 Web 介面和使用 Differential 命令列工具來處理。
GitLab、GitHub 是基於拉取請求構建的(可以互動的單獨儲存庫)。
Launchpad 是基於合併請求構建的(類似於拉取請求)。
在 Phabricator 和 Phorge 中,幾乎所有物件的許可權都可以調整。此功能非常獨特。例如,每個 Phabricator 任務都可以配置為自定義可見性和編輯許可權。這非常靈活。很容易說某件事“只能由管理員或此安全組中的使用者編輯,但只有在滿月的時候”。此外,這個靈活的可見性系統可以快速建立只對您可見的任務(或其他東西):例如,您可以秘密地組織您的工作,建立即使對您的老闆或管理員也不可見的東西。例如,此功能經常用於建立只有您自己可見的秘密口令等。
在 GitHub、GitLab 和 Launchpad 中,這受到限制,所以可能更簡單。
在 Mantis 錯誤跟蹤器中,只有任務可以隱藏。它們只有兩種狀態:公開和私有(私有是使用者固定的列表)。
Phabricator 和 Phorge 某種程度上對從 Web 介面永久刪除物件感到擔憂。通常,物件可以歸檔、標記為已刪除,但不能永久刪除。您可能需要訪問伺服器命令列才能執行重要操作,例如儲存庫刪除等。有關此選擇的理由,請在此處解釋:在 Phabricator 中永久刪除資料。這樣,普通管理員就無法從 Web 介面犯任何大錯誤。
在 GitHub 和 GitLab 中,如果您是管理員,則可以輕鬆地完全銷燬儲存庫。
Phabricator 和 Phorge 擁有一個非常靈活的依賴系統來宣告:這個任務的父任務是什麼?子任務是什麼?注意:兩種情況都是複數。因此,您可以以視覺化的方式組織涉及多個大型部門和專案的大量複雜工作。維基媒體基金會的示例:https://phabricator.wikimedia.org/T229015
在任何其他平臺中,此功能都非常基本。通常,您只能有一個父任務和多個子任務。
在 Mantis 錯誤跟蹤器中,該系統相當平坦,通常人們不會分配父任務/子任務。這被視為一個額外的屬性,不會以樹狀結構顯示。
在 Phabricator 和 Phorge 中,您可以為任務分配“點數”。因此,一項任務比另一項任務複雜得多,需要更多時間等等。然後,您可以為看板列分配“點數限制”。然後,每一列都會顯示您的進度情況,以及您是否正在走向倦怠。如果您關閉了一項任務,進度條將根據其點數係數前進,這在視覺上很有用。此外,對於每個專案,都會自動渲染一個顯示您“倦怠圖表”的圖表,以便您可以看到一個專案正在接收多少個開放的任務,以及隨著時間的推移關閉了多少個任務,以檢視您的團隊是否高效或是否完全倦怠等等。
請新增其他比較。
Phabricator 和 GitLab 之間也存在著有趣且較為中立的比較,同時還涉及 Bugzilla、GOGS、gitea 和 Pagure。
您可以在 GNOME wiki 上了解更多資訊。