一、什么是源碼交付?為什么要源碼交付?
在新環境,微服務的體系中重新構建一套已有的項目,你會發現困難重重,不是缺少jar包,就是缺少服務。怎么解決?
產品是由源碼構建成的服務,產品越大服務越多,對應源碼的復雜程度也會更強。產品每一輪的迭代,服務之間的裝配調用,源碼工程相互的依賴,既要保障研發效率,又要保障源碼交付質量,實乃大事也!
IT企業源碼是產品的核心價值,源碼歸屬於產品的一部分,所以源碼一定要交付。
二、怎么實現源碼交付
源碼交付不是簡單的把源碼一拷貝交付了事,源碼也要有版本,有了版本才能更好的管理代碼。
1.統一源碼路徑
(1)分支:由歸檔后的主干創建,操作人員為項目研發,用於新需求功能實現。
(2)主干:由提測分支合並,操作人員為質控測試;用於功能測試、測試環境、預發布環境、生產環境的運行。
(3)Tag:預發布環境驗收通過,發布生產環境並完成版本歸檔,操作人員質控測試,用於記錄生產環境穩定版本,便於回滾主干操作。
2、通過源碼版本提交記錄映射業務版本號,實現保證不同業務版本源碼的一致性。
2.1 確定基線
Trunk:工程Demo – 特性開發 – 穩定版本
2.2 拉分支
分支來源於穩定主干,用於新功能的實現。穩定主干均需符合以下條件:
(1) 版本已發布生產環境;
(2) 版本 完成版本歸檔。
2.3 合並主干
由提測分支合並,用於功能測試、測試環境、預發布環境、生產環境的運行。
合並主干需具備前置條件:提測郵件。提測郵件需具備以下六要素:
項目名稱、版本號、分支路徑、腳本路徑、部署手冊、功能邊界
2.3.1直接合並主干
提測版本號末位-1與當前主干版本號一致。
2.3.2先同步該主干,再合並主干
(1)提測版本號末位-1與當前主干版本號不一致;
(2)其他分支有歸檔記錄,找到最近一次歸檔的版本號。
2.3.3先回滾上一版本,再合並主干
(1)提測版本號末位-1與當前主干版本號不一致;
(2)其他分支無歸檔記錄;
(3)提測版本號末位-1在歷史版本中存在 , 則需找到主干版本號末位-1的主干。
2.3.4先回滾分支對應主干,再合並主干
(1)提測版本號末位-1與當前主干版本號不一致;
(2)其他分支無歸檔記錄;
(3)提測版本號末位-1在歷史版本中不存在,則需找到對應的拉分支時主干。
三、總結
得代碼者得易,懂代碼者難,懂得代碼者可得天下!