前言

本章节耐人寻味。

如果说 Bamboo 有一些独特之处,比如业务概念和系统特色,那么 Bitbucket 则可以说是一个在很多方面似乎并没有太大竞争力的产品。

然而,在版本控制托管平台市场,这样一个难以找到亮点的产品,多年来始终占据一席之地,并且,其他产品总是会在自家官方文档中与 Bitbucket 进行比较。

图片

究竟是因为 Atlassian 强大的光环,还是 Bitbucket 本身有闪光点,使其能够保持市场地位,我们将在这个章节中探究一下。

代码托管与版本控制

版本控制是维护工程蓝图的标准做法,旨在追踪工程蓝图的演变过程。

图片

我们在上个段落中提到的版本控制,在这里特指软件版本控制,如果是嵌入式工程或者工程输出物以大文件为主,请选择 SVN 或者 Perforce 等产品,而不是强行使用基于 Git 的产品。

基于 Git,市场上衍生出了很多代码托管平台,尽管很多小微团队都会毫无疑问地选择 GitLab Community Edition,并且这些团队的负责人会讲述一堆看起来很优雅的理由,但究其根本,他们的选择很大程度上是受到免费策略的影响。

图片

GitHub 和 Bitbucket 作为最早基于 Web 的 Git 版本控制托管平台,都是在推出之后迅速崛起的。如今,GitHub 被微软接手,而 Bitbucket 由 Atlassian 掌舵。

其实 Bitbucket 在 Atlassian 生态中的场景覆盖很小,客观的讲,代码托管毕竟不是 Atlassian 的优势。但通过观察 Atlassian 生态的宏图,我们可以发现,如果没有 Bitbucket,那 Atlassian 就缺少一个程序员最常用的入口,也将很难赢得程序员的支持。

GitHub 和 GitLab 作为程序员的日常入口,已经发展成具有需求管理、缺陷追踪、文档站、自动化流水线等全面能力的平台。而 Bitbucket 的竞争实力则源于与 Atlassian 生态的紧密集成,为用户提供简单、好用、稳定的体验。

对于用户来说,他们并不关心,这些能力是来自于同一个平台,还是一个生态,只要使用起来没有割裂感,就会被认为是同一个东西。

与依托 Atlassian 生态发力的 Bitbucket 不同,GitHub 和 GitLab 因为是在现有平台上做功能扩展,所以很难跨越角色门槛。你可以要求程序员用上其他的管理辅助工具,但你很难要求非程序员的员工在 GitHub 或者 GitLab 上协作。不过,随着微软接手 GitHub,微软的 Azure DevOps 则是 Atlassian 强有力的竞争对手。

图片

主流选择

自 2008 年基于 Web 的 Git 版本控制工具诞生以来,最广为人知的托管平台始终是 GitHub、GitLab 和 Bitbucket。

他们既有公有云版本,也支持本地私有化部署。

从 Git 的原生功能来看,三者没有任何差别。无论是使用 Git 命令行操作,还是使用一些 Git 图形界面客户端,用户都无法察觉到区别。

在 Git 功能扩展方面,这三个平台也非常接近,它们都通过对业务的理解和基于 Web 的实现来支持业务属性。

如今,再访问他们的官网,我们不难发现,它们已不再仅仅自称为 Git 工具。GitHub 宣称是专为协作而生的开发者首选平台,GitLab 则宣称自己是最全面的 DevSecOps 平台,Bitbucket 则显得较为独特,它不过分强调自身功能,而是突出与 Jira 的强大集成,作为 Atlassian DevOps 解决方案的原生 Git 工具。

图片

选择跟自身匹配的产品

这个市场早已为我们提供了明确的选择问卷结果,因此,在版本控制工具或者代码托管平台的选型中,我们并不会遇到太大的困扰。

如果您的团队支持上云,那么可以直接使用公有云。无需过于担心“机密”数据存储在他人的服务器上,相比之下,很少有企业自建服务器能够在安全性、稳定性上超越这三家公有云提供商,更不用说成本问题了。

然而,在中国,私有云仍然是大多数企业的首选,无论企业规模如何,他们都认为自己拥有“重要的核心数据”。当然,中国服务商在服务稳定性、职业操守、诚信等方面普遍无法达到令人满意的程度,这也成为中国企业习惯性选择自建解决方案的一个重要影响因素。

因此,小微企业选择免费的 GitLab CE 成了必然。尽管有时候他们可能希望使用企业版的功能,但最终总能忍受并适应。

由于 GitHub 和 Bitbucket 私有化部署没有免费版本,因此很少有人将它们作为首选。但是,如果已经在使用 Jira 等 Atlassian 产品,那么 Bitbucket 会使得整体体验更为优雅,否则,选择 GitHub 就顺利成章了。

图片

在后续章节中,我们将在已经使用 Atlassian 产品生态的情况下,深入探讨 Bitbucket 的各种功能和案例,帮助您更好地理解和利用这个工具来提高团队的生产力。