[討論] 共用程式碼管理

看板Soft_Job作者 (perry tsai)時間4年前 (2020/02/24 00:53), 編輯推噓5(5010)
留言15則, 7人參與, 4年前最新討論串1/1
拋磚引玉一下 看看各家對於共用程式碼的管理方式 先說痛點 在不同的服務中 有必須共用的程式碼 譬如説DB schema的model 譬如説常用的utils 相同的商業邏輯但不同服務都需要使用到 如果不整理起來就會變成是 當一處更新就要複製貼上到每個服務 目前我主要處理方式為 git submodule 在每個服務下建立一個共用的submodule 一個服務有更新其他服務就git pull即可 共用也牽涉到很多問題 最常遇到的就是依賴問題 A服務與B服務共用一個class 但是C服務不需要 而這個class依賴某個套件 則可能逼迫C服務必須安裝此套件 但如果共用的submodule要細分 則可能要變成AB用AC用BC用ABC用 四個submodule 管理起來不會更容易 是說還有沒有更優雅的解決方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.60.81 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1582476836.A.76C.html

02/24 01:08, 4年前 , 1F
monorepo
02/24 01:08, 1F

02/24 01:14, 4年前 , 2F
我提供我的解法. 基本上跟你的嘗試很類似.用git submodule
02/24 01:14, 2F

02/24 01:15, 4年前 , 3F
但是每個模組都獨立放一個branch.並搭配不同的資料夾.
02/24 01:15, 3F

02/24 01:15, 4年前 , 4F
master 就是所有模組的集合.
02/24 01:15, 4F

02/24 01:16, 4年前 , 5F
如果單只要一個功能. pull的時候就只checkout那個branch.
02/24 01:16, 5F

02/24 01:17, 4年前 , 6F
如果需要復合的功能. 可以checkout out多個repo.
02/24 01:17, 6F

02/24 01:17, 4年前 , 7F
也可以 merge一個複合型branch來供應這個專案需求.
02/24 01:17, 7F

02/24 01:20, 4年前 , 8F
測試也是另一個branch.這樣專案使用就不需要引入測試專案.
02/24 01:20, 8F

02/24 09:53, 4年前 , 9F
用build來管理相依性,不用版控來管理
02/24 09:53, 9F

02/24 19:14, 4年前 , 10F
好奇大家怎麼處理!
02/24 19:14, 10F

02/24 21:07, 4年前 , 11F
Lerna manorepo?
02/24 21:07, 11F

02/25 20:59, 4年前 , 12F
Monorepo
02/25 20:59, 12F

02/26 21:14, 4年前 , 13F
dependency management,沒有明確最小buildsize需求不建
02/26 21:14, 13F

02/26 21:16, 4年前 , 14F
議自己搞, runtime載入很容易怎麼死都不知道
02/26 21:16, 14F

02/26 21:18, 4年前 , 15F
下游自己客制維護又費時費力,autotest跟monitor要很強壯
02/26 21:18, 15F
文章代碼(AID): #1UKguaTi (Soft_Job)