淘寶陳皓微博引發關于Git和GitHub討論
2 月 18 日,已經轉戰淘寶的著名技術人陳皓發布了一條微博,對淘寶內部的共享開放平臺提出自己的見解:
今天了解了一下淘寶的共享開放平臺,感覺面對阿里內各種特殊異化的業務的需求,再加上各種降權開關,性能優化,這個平臺要干的事越來越復雜,承載的業務邏輯越來越多,越來越不好維護。采用服務化模塊化的解耦可以做到靈活性,但是還是不夠。感覺可能需要像 Linux+Git 的方式才能適應高速開發。
</blockquote>他又補充了一條微博,指出:
可嘗試使用 Linux+Git 的方式,讓各個業務團隊把代碼 fork 過去自行定制,一些定制過后的有價值的代碼穩定后可以回到主干,各個 fork 出去的分支可以互相 merge。而當主干代碼升級后,各個 fork 出去的代碼同樣可以享受主干的升級。只有 Git 可以干這樣的事。(不過,這需要對代碼有強大掌控能力的團隊)
</blockquote>同在淘寶工作的拔赤認為:
淘寶里舍得花時間玩 git 的人太少了
</blockquote>雖然淘寶千丫指出:“咱有 git 的”,但拔赤說:
嗯,多數人僅僅拿 git 存代碼,真真有些浪費啊,呵呵對此,淘李福認為: 你說的挺對,不過目前的困難主要還是代碼安全的問題,很多工程師想用 git,但是沒有內部開源就不能自由 fork 淘寶玉伯: 如果能推動公司購買 GitHub 企業版就好了,很多問題都可以解決,很多內部平臺都可以節省掉。我試著推動過公司去購買,最后集團只搞了個半殘的免費的 GitLab …… 企業版不是將代碼存放在 GitHub 網站上,而是在內網部署一個 GitHub,代碼很安全,就如我們安裝 Jira、Confluence 等軟件一樣。 …… 小團隊不用購買企業版,開通私有庫就好。目前我自己掏銀子給團隊買了些私庫用,實在不想折騰公司的 SVN。
</blockquote>敲代碼的張洋提到:
我也曾多次吐過這個嘈。不過我這種小啰啰也就是想一下而已。力薦 Github 企業版啊
</blockquote>同在淘寶的玄澄的問題是:
具體可以替代哪些內部平臺?
</blockquote>淘李福回復:
目前 github + trello + travis + puppet + capistrano 可以符合研發過程的全部需求,唯一的缺失環節是聯調和系統測試環節的自動化,這塊我們正在嘗試
</blockquote>玉伯也指出:
和程序員相關的平臺基本都可以用 GitHub 企業版替代,比如源碼管理、文檔、QC、CR、CI,甚至發布、管控等都可以。其實我覺得阿里味也可以用 GitHub 企業版替代。
</blockquote>不僅僅是淘寶,豆瓣也有人出現,andyh 說:
豆瓣內部有 code,高仿 Github,今天一周歲。
</blockquote>在知乎上,可以搜索到豆瓣負責技術管理的耿新躍在 2012 年 4 月發布的一段話:
豆瓣在用 git,不過歷史遺留的東西還在 svn 里,某些原因導致遷移到 git 上還有困難(比如我們目前有些地方依賴 svn 的目錄級權限控制),在逐步解決中
另外,我們不單用了 git,還用 github 發布開源項目,內部還買了 github enterprise 用作日常開發,大家用 pull request 的方式來實現 code review 和交流,效果不錯。
當然,github enterprise 比較貴,我們目前只在部分團隊用,同時我們在嘗試自己做一個類似的東西,基本上是在 trac 基礎上增加 github 的功能。
</blockquote>對于陳皓提出的 Linux+Git 方案,火星前哨站3的看法是:
要求相當高,不光是代碼掌控能力,還包括架構設計能力
</blockquote>onedear 提出一個問題:
有價值的代碼回到主干,這個是否有專門的人來做這個工作?
</blockquote>余肖譽回復:
一般是權威人做的工作,這個世界,這個工作做得最好的是 Linus Torvalds 本人
</blockquote>Row_Li 已經認識到了這樣做的關鍵:
跟咱們很神似,不過咱們沒有相關團隊掌控代碼。最終弄成現在不堪入目。基本不想看那鳥代碼第二遍
</blockquote>@deljuven 有同樣看法:
這是個理想的狀態,需要許多人一直持續不斷的努力~~ 但是覺得能把分支理順的人實在太少了==說句實在話,我一直覺得我們的分支太少了==
</blockquote>morejam 建議:
這個陳首席應該有經驗,搞網絡設備的,各種開局,各種新需求各種從主線拉分支。
</blockquote>對此,陳懷臨回應
這個 TOT 和 Branch 的研發代碼的問題,是個很復雜的事情 …… branch 之間不能做 merge。branch 出現一定要去“死”。必須保證 TOT clean,回 TOT 要手工 sync。
</blockquote>小米科技米聊產品研發經理瞿晉萍認為:
用 Git? 由此造成的多版本問題在快速開發,各個業務組獨立發展的情況下會不會得不償失?還是傳統點,基于一個與業務無關的 framework/mechanism, 各個業務在上面開發 plugin/policy
</blockquote>丸子常在的一句話可作為本文的總結:
中國和美國軟件企業的真正差距之一,軟件要擁有優秀的管理設計思想才可以應對未來復雜的業務需求 ,要不然基本上就會這樣,越做越復雜,越做質量越差,越做需要的精力越大。
</blockquote>大家都在提 GitHub 的企業版,不妨讓我們看看 GitHub 企業版都提供哪些功能:
- 代碼審查:其中包括未來風格的代碼審查、評論提交、分支分析、對比視圖等功能。
- 團隊管理:30 秒即可讓用戶訪問代碼,不需 SSH key,同時提供進度信息主動更新。
- 工業標準的 OVA:OVA 是 Open Virtualization Format(簡稱 OVF)的一種實現,OVF 是一種開放標準,用來定義對虛擬機中運行的虛擬應用和軟件進行打包和分發的標準。GitHub Enterprise 版本以 OVA 格式分發,兼容 VMware 和 VirtualBox。
- 企業級的安全性:通過啟用 SSL 和私有模式,強制整個團隊使用最安全的連接。
- LDAP 和 CAS 集成:GitHub Enterprise 版本可以直接集成到支持 LDAP 和 CAS 團隊管理的基礎設施中。
</ul>當然,還有出色的社區支持。
目前,GitHub 企業版的知名用戶包括:暴雪、Rackspace 和在線交易網站 Etsy。
來自: InfoQ本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!