Skip to main content
Skip table of contents

Bamboo 概述

Atlassian CI/CD 的切入點Bamboo

相較於Atlassian 的拳頭產品Jira / Confluence,Bamboo 的熱度是遠遠不及的,所以如果沒有聽說過Bamboo,倒也是很正常的情況。

在官方的產品列表中,它身處“代碼、編譯”板塊,該板塊總共3 個產品:BitBucket, Sourcetree, Bamboo。

作為Git 的桌面客戶端Sourcetree 用到的人會更多一點。關於Bitbucket 我們將在另外的章節提到。

官方的定義說,Bamboo 是一個用於持續交付的流水線。概念非常的簡潔,Bamboo 就是用來做CI/CD。

提到流水線,不可避免的會提到,這個領域中經典的開源產品Jenkins。曾經,流水線甚至就是Jenkins 的代名詞。如今,同類產品就非常多了,GitLab CI, GitHub Actions, Azure DevOps 等各類平台,都打著自己是CI/CD 甚至是DevOps 工具的標籤,每個產品都有著各自的擁護者。

其實,就流水線本身而言,功能幾乎都一樣,就是通過自動化的手段將一些人力行為串起來,從而解放生產力。不同的軟件製造商只是在一些邊緣,或者是自身能夠觸及到的場景進行試探,對概念進行渲染,但大多都是不太成功的。

其中一個很重要的原因,就是99% 的民營企業認為,只要擁有某一套工具,就能使自己達到魔幻的效果。在這一認知上,外資企業是不一樣的,他們會認為僅有工具是不夠的,“諮詢服務”是工具對應的必需品。

這就好比購入一輛F1 賽車,但並非人人都能開得起來,更別說想開出舒馬赫的成績。舒馬赫開普通車,也遠超99% 人,而普通人開F1,不但開不了一圈,還可能會—— 車毀人亡。

話題回到這些CI/CD 工具上,我們大可認為它們都是F1 賽車,只是不同的製造商而已,很大程度要依賴於賽車手。因此,如果企業在選品時只是一味的比較這些工具的功能點,其結果通常只有一個—— 價低者(或免費者)入局。

認識Bamboo

本章節並不會去比較各種競品間功能的強與弱,而是從一些落地場景及使用角色的角度,介紹Bamboo 這樣的CI/CD 工具是如何在我們的諮詢項目中設計的。

需要強調的是,所謂通用的最佳實踐,是不存在的。不同的企業所面臨的場景,幾乎沒有相同的情況。但是,如果能夠限定企業的領域、組織結構、性質背景,還是有一些推薦方案可以在第一階段作為參考的。

本章節的內容中,我會選擇以互聯網軟件為例,以相對寬鬆的權限場景來做一些Bamboo 分享,不會涉及其他CI/CD 工具遷移導入的部分。

雖然,在常規的Bamboo 角色配置中,只存在管理員和用戶兩種,但實際上,在一家企業的軟件研發團隊中,至少存在管理員、產品經理(或項目經理)、開發工程師、測試工程師、運維交付工程師這5 個角色,可能實際自然人會身兼數職,角色可能重疊,但我們在設計方案時,還是需要拋開現像看本質,以免被這些特殊情況干擾。

本文中,流水線任務所採用的配置方式,可能不算多見,其優劣也是仁者見仁智者見智。

參考材料

JavaScript errors detected

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

If this problem persists, please contact our support.