1. 程式人生 > >DevOps落地實踐:BAT系列:程式碼託管:iCode vs TGit

DevOps落地實踐:BAT系列:程式碼託管:iCode vs TGit

這裡寫圖片描述

百度效率雲

百度效率雲是專業、好用的網際網路軟體研發平臺。內嵌產品規劃、開發計劃、執行跟蹤、回顧分析、持續改進等眾多優秀管理實踐,以及Git程式碼管理、程式碼評審、程式碼掃描、編譯加速、持續整合、自動部署、自動測試等豐富優秀開發實踐,為網際網路軟體研發團隊提供開箱即用、全套、高效的工具裝備。

騰訊雲的DevOps

歷經騰訊各業務線打磨,快速提升企業客戶研發效率,降低研發成本.

程式碼託管

百度效率雲,將自身定位為研發工具的SaaS解決方面,三大看點程式碼託管/CICD/敏捷看板非常清晰,對應icode/ipipe/icafe三大自研工具。而騰訊的DevOps解決方案聚焦於程式碼託管/CICD/測試管理/運維監控/專案管理五大領域,具體則依託於騰雲TGit/CCI/COC/TAPD四大開發者工具。因為功能和做法較為相近,這篇文章中我們將會通過其官方的介紹來看一下程式碼託管的具體做法和各自的亮點。

TGit

TGit 程式碼託管
為開發者提供基於 Git 的線上程式碼託管工具,包含程式碼提交/儲存/下載/復刻/分支/歷史/比對/合併等功能。可一站式完成對程式碼及程式碼質量管理,專案及專案人員管理,大大提升研發效率。
這裡寫圖片描述

Why TGit

優勢 詳細說明
安全 分支保護防止重要分支上的誤操作;細到分支級別的許可權控制;程式碼加密儲存和傳輸,實時災備
可靠 源於騰訊內部的程式碼託管平臺;全面支撐騰訊各大業務;體驗與騰訊內部服務保持一致
通用 基於標準 Git ,支援標準 Git 客戶端;符合常用的操作習慣;優化的 Markdown 渲染規則
協同開發 雲上程式碼閱讀、修改、提交,隨時隨地;多分支,跨專案的協同,讓協作更容易;專案變更一目瞭然

產品功能

功能 詳細說明
許可權管理 新增、刪除、修改專案成員的許可權。給專案經理提供靈活的配置選項。
倉庫管理 面向管理員、專案經理、個人開發者提供倉庫建立、修改、和刪除的功能。依照許可權配置限制敏感操作行為。
分支保護 分支管理員可以阻止管理者以外的成員推送,並防止任何人誤刪或錯誤提交。
線上操作 支援線上閱讀、修改程式碼。支援線上分支管理、新建、切換、合併分支。實現所見即所得的雲端視覺化線上協作。
合併請求 支援主流的 GitFlow,讓您的團隊可以無憂協作。
文件管理 使用通用語言 Markdown 編寫文件和 Wiki 。
安全管控 支援 https 和 SSH 加密傳輸,確保傳輸的安全性。重要操作有操作日誌,方便專案經理和管理員回溯。
整合 可和開發者工具廣泛整合。應用於整合編譯、自動測試、釋出服務。組成 DevOps 閉環。
需求管理 管理和分配需求和任務。

iCode

Why iCode

優勢 詳細說明
安全 專屬雲端儲存,比本地更安全; 高可用承諾,比自維護更放心;3重加密備份,程式碼永不丟失
先進 主流的分支模型,開發、協作更規範;程式碼質量智慧檢測,問題、隱患早知道;程式碼評審隨時做,技術、質量更可控

產品功能

功能 詳細說明
倉庫管理 基於Git的程式碼倉庫
程式碼評審 基於Gerrit的程式碼評審
質量檢測 程式碼入庫自動質量檢測
分支模型 成熟的分支模型
程式碼搜尋 依託百度搜索技術的程式碼檢索

使用方式

以下取iCode實際的使用方式,簡單介紹如何用於程式碼託管以及版本管理。

賬號&設定

登陸效率雲後會自動登陸iCode,二者共用同一個賬號。程式碼庫採用https協議上傳和下載程式碼,平臺依據效率雲使用者的使用者名稱、公司、郵箱資訊生成一個下載程式碼使用的使用者名稱,在icode右上角個人設定頁中設定密碼使用者上傳和下載程式碼
這裡寫圖片描述

git客戶端安裝&設定

安裝和設定之後,設定baidu相關的使用者和賬號

git config --global user.name xxxxx
git config --global user.email xxxxx@baidu.com

建立程式碼庫

百度程式碼庫命名規範要求必須是三級,規則如下:

  • 企業名【不能修改】在效率雲註冊企業的時候指定。例如:baidu
  • 目錄名【自定義】目錄下可以包含多個程式碼庫,依據程式碼對應的產品取名。例如:icode
  • 程式碼庫名【自定義】是程式碼庫的最後一級,依據自己開發的模組功能取名。例如:portal

這裡寫圖片描述

許可權管理

許可權規則具體如下:

程式碼庫有“公開”和“保密”之分,“公開”指對公司內部成員公開,具備只讀程式碼和發起評審的許可權;“保密”則除非特別授予許可權(管理員/可寫/可讀,三選一),否則對此程式碼庫無任何許可權。
這裡寫圖片描述

本地操作

從iCode介面上可以取得git clone使用的命令,然後在本地客戶端進行執行即可取到本地,然後修改/git commit/git push等正常方式進行開發便可。還可以通過圖形介面瀏覽程式碼以及檢視提交歷史。

總結

無論是百度還是騰訊,程式碼託管均是立足於各自的雲平臺,都可為為雲平臺提供附加的服務,使得能增強和客戶的關係。兩者的程式碼託管都是立足於對git的封裝,實現了一些最佳實踐的整合,基本的程式碼託管功能均已有所提供,兩者各有各色。騰訊雲TGit的程式碼加密儲存和實時備災,百度iCode的程式碼檢索基於百度檢索功能等也將一些各自強大的內容融入了其中,對於直接希望雲端進行管理和轉型的客戶多了一種選擇。