Skip to main content
Skip table of contents

Bitbucket 概述

前言

本章節耐人尋味。

如果說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 的各種功能和案例,幫助您更好地理解和利用這個工具來提高團隊的生產力。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.