发布于 2026-01-06 0 阅读
0

Phabricator 是 Phabulous

Phabricator 是 Phabulous

Phabricator 太酷了!我一定要跟你们说说。

直到本周,我唯一使用过的协作工具集就是 GitHub 内置的工具。当然,它确实很棒。一旦项目发展到一定规模,Issue 和 Milestone 就比//TODO评论更适合用来组织项目。

不过, Phabricator则完全是另一个层次。它最初是 Facebook 内部为了协调软件开发而创建的,项目维护者Evan Priestly最终离开了公司,创立了Phallacity公司,并全身心投入到 Phabricator 的开发中。

一体式

Phabricator 不仅仅是 GitHub 项目管理工具,它是一套相互关联的工具套件。我相信它只是众多同类工具之一,你们中的大多数人可能在工作中也使用类似的集成解决方案,但这是我第一次使用,而且我非常喜欢它。

微分

它与 Git 集成,如果您熟悉 GitHub Pull Request,那么它的对应物是差异修订:

差异性修订

所有内容都显示在同一页面上,方便浏览此版本的历史变更记录,并查看整个存储库中的所有更改:

差分评论

港务长

Harbormaster是内置的持续集成工具:

港务长

该项目已与Jenkins集成,实现了完全自动化的 CI/CD 流水线。

曼尼菲斯特

Maniphest 用于处理任务级别的工作——这与 GitHub Issue 非常相似。

曼尼菲斯特

您可以关联子任务和父任务,以及特定的差异化修订。

仪表盘

Phabricator 的可定制性非常强。以下是@codemouse92为此实例创建的定制版“任务查找器”仪表板:

任务查找器

通过正确利用项目和求助标签,您可以轻松引导潜在的贡献者找到代码的简单入口点。

先驱报

Herald 是一个规则引擎,允许你将逻辑脚本嵌入到网站的许多部分。它可以自动为新的差异修订版本添加项目标签,添加订阅者,或者拒绝没有相应项目关联的团队成员的提交——功能远不止这些。我还没用过它,因为它已经为这个实例配置好了,但显然它功能非常强大。

摩擦

Phriction 是内置的 wiki。

摩擦音

没错,它就是一个维基百科。这并不奇怪,但整合进去还是很有用的。

项目

这是组织 Maniphest 任务的一种方式。它采用看板式工作板:

看板

就像在家一样!

思考

“思考”是一个开放式的、一般性的讨论空间,不专门针对任何特定的任务或差异化修订。

思考

当然,这些也是 Phabricator 对象。

普尔

它甚至还内置了网址缩短功能:

phurl

超级方便!

康弗伦斯

Conpherence 是内置的聊天应用程序——可以把它想象成精简版的 Slack:

同心性

名字/Pholio

除了上述部分之外,还有专门的空间用于上传静态资源,例如图像和字体,以及发布博客文章的地方——当然,所有这些都会生成可超链接的 Phabricator 对象!

超链接至 MAX

这是最精彩的部分。每一项内容都会获得一个唯一的标识符。差异修订版本可能获得一个唯一标识符D238,任务可能获得一个唯一标识符T1235,聊天室可能获得一个唯一标识符Z23,用户可能获得一个@bdlovy唯一标识符,等等。

最棒的是,只要在任何地方提到这些标签,它们都会在两个地方都变成超链接。每个 Phabricator 对象 ID 都会被一个灰色方框包围:

关联

那个灰色方框是指向相关对象的链接——现在该对象又有一个指向该对象的链接:

提到

内置的聊天小部件也是一个 Phabricator 对象,因此,如果您在聊天室中请求有关特定任务的帮助,您将在任务页面上获得一个链接,指向聊天室日志中的特定位置。

当然,这些对象 ID 也是可以搜索的:

搜索

奥术师

Phabricator 提供了一个命令行工具,几乎可以在命令行中启用所有 Web 应用程序功能。目前我只用它来创建新的差异化版本。在单独的分支中完成更改后,您可以git commit运行该工具arc diff

您也可以在这里使用上述标签!当您提交时arc diff,您的$EDITOR项目将打开并允许您编写差异化修订部分:

Scrobble BitClass2

Summary: Progress towards T1225: Scrobble ALL the bits.  Bits from BitClass2 have now been fully scrobbled.

Test Plan: Test suite has been updated

Reviewers: @smartperson

Subscribers: @peerwhoknowsstuff

Revert Plan: Reset to commit f928ybrv9q48th from landing D291
Enter fullscreen mode Exit fullscreen mode

编辑、保存,搞定!所有已配置的代码检查工具和端到端测试都会自动运行,CI/CD 流程也会启动,并且您会收到一个指向新创建的差异版本链接,该链接会添加到您的 CLI 中。同时,T1225、提交 f928ybrv9q48th 和差异版本 D291 的 Phabricator 页面也会自动更新,添加指向您刚刚创建的新版本的链接,这仅仅是因为您提到了它。此外,所有被提及的审阅者和订阅者都会收到通知。

当您在 GitHub 上托管 Phabricator 镜像时,会收到以下完整消息。Phabricator:

phabricator DR

GitHub:

GitHub PR

这是好东西

PHP

如果你一直关注的话,你会发现这些工具里有好几个都带点“phunky”的元素ph。没错,这个工具是用PHP实现的——不管你喜不喜欢,它都是必备工具。它可能不再那么“性感”了(不管这到底是什么意思),但不可否认的是,无论任务多么复杂,它都能出色地完成。

开源软件

Phabricator 是免费的!没错,它是一款非常实用的开源软件,而且完全免费。源代码托管在 GitHub(以及 Phabricator 官网)上,您可以直接在自己的硬件上运行。他们也提供托管实例和企业级支持,但您现在就可以搭建一个个人使用的实例(除非您的网络服务提供商有相关规定)。

熟悉这个工具的过程真是太棒了——就实用性而言,它远胜 GitHub。虽然每个组件本身并不一定新颖或具有突破性,但它们之间的配合却无比流畅。不过,对我来说,它真正的优势在于其强大的互联性。Phabricator 对象之间的自动超链接简单直观,而且你完全无需操心。我已经感觉自己被它惯坏了。

综上所述,这也是我第一次在 GitHub 之外使用类似的工具——你还有什么要推荐的吗?

照片由 Ant Rozetsky 拍摄,来自 Unsplash

文章来源:https://dev.to/decidously/phabricator-is-phabulous-294p