當前位置:
首頁 > 最新 > 效能提升的江湖路-轉轉Beetle平台百天記

效能提升的江湖路-轉轉Beetle平台百天記

題外話

效能提升是個火熱的話題,CI,容器技術,DevOps,還有很多筆者不知道的熱門技術和話題,無非是希望通過技術手段來加強產品的研發效率及發布質量。簡單明了的目標,卻需要長期的學習探索,實踐,總結,和修正,在這個過程中逐步的定義管控目標,流程和方法,最終實踐。

在轉轉,高發布頻率及高並行開發是常態,這使得自動化效率提升顯得更為重要。

Beetle簡介

Beetle是轉轉公司測試部主導研發的一款基於gitlab,jenkins,maven為主的輕量級效率平台,平台主要功能包含源碼的版本管理,編譯管理及發布管理,同時提供代碼的diff,codereview,測試覆蓋率等功能;目前支持公司所有研發團隊的日常發布工作;beetle平台用流水式發布的交互設計,簡單的後台處理邏輯以實現簡單快速發布的目標。

1

Beetle內嵌的開發流程

從源碼到上線的全鏈路生命周期管理

各節點均實現自動化

開發模式閉環流程

2

Beetle平台的工程管理

新建工程

調用gitlab api,直接在beetle平台中新建gitlab project

集成分支開發模式

我們採用了部分git flow的形式,並沒有完全按照git flow的方式進行管理,這種模式將統一通過集成分支構建產生的版本來進行發布上線,上線成功後自動將集成分支構建上線版本的tag代碼同步到master做穩定備份。

分支開發模式

並行開發,串列上線,通過功能分支構建的版本來發布上線,上線成功後會自動將功能分支上線的版本對應的tag代碼同步到master做穩定備份,並且給其它並行開發當中的分支發送合併提醒,系統提供自動merge功能。

Beetle平台的源碼構建

Beetle的構建直接調用jenkins的api,通過config.xml模板文件動態生成jenkins job,實現工程構建,job配置更新,job刪除,日誌查看等功能;修改完源碼之後可直接點擊編譯按鈕觸發構建,生成構建結果(每個分支都有各自的構建job)。

Beetle平台的部署

調用環境平台提供的介面,點擊部署後,可選擇部署的目標機器,直接點擊確定後生成部署記錄(目前我們還沒有將部署環節完全容器化,這也是平台後續的一個努力方向)。

在平台點擊上線後直接部署線上環境,包含回滾歷史版本和快速回滾的功能。

3

Beetle平台其他功能

自助服務

用戶可自行在平台管理許可權申請及審批功能,許可權申請審批後自動開放,在許可權管理中做到自運轉。

code diff

點擊編譯記錄中的code diff操作,會根據gitlab的commit id進行代碼diff。

code review

可以在工程的配置中進行CI自定義配置,如code review,CI的配置項可以根據節點進行控制,並可以控制是否阻斷整個上線流程。

配置後可在分支列表中發起code review。

總結

Beetle平台結合了部分的CI實踐,還有部分CI實踐在落實中,目前公司有200+的工程在beetle上進行日常的構建和發布工作,整個過程全部自動化,beetle平台的學習和使用成本非常低,所以對於用戶來說達到了使用簡單的目的;在整個發布上線的流程中,我們會陸續增加CI實踐及一些關鍵節點的控制,並加速容器技術的落地,以持續提成產品發布效率及發布質量。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 轉轉QA 的精彩文章:

TAG:轉轉QA |