- 背景
現(xiàn)階段的Git源代碼管理上有一些漏洞,導致在每次上線發(fā)布的時間長、出問題,對整體產品的進度有一定的影響。
- 作用
新的Git源代碼管理方案有以下作用:
- 多功能并行開發(fā)時,測試人員可以根據(jù)需求任務分配測試自己的功能,環(huán)境互不干擾(需要提供多環(huán)境),也可以集成全業(yè)務流程測試;
- 功能并且支持拆分上線;
- 所有代碼沖突必須在版本環(huán)境解決;
- 原則上V1環(huán)境打包好的版本測試通過直接推給beta環(huán)境測試,beta環(huán)境測試通過直接推到生產環(huán)境(灰度環(huán)境),如果有拆分上線,再由各功能分支合并到版本環(huán)境從新打tag提測。
- 權限
- 版本環(huán)境開放給開發(fā)人員(包括組長、項目經理);
- master環(huán)境只開放給源代碼管理員(業(yè)務線技術負責人)。
- 角色
本流程涉及到的角色有以下:
- 開發(fā)人員:主要負責功能開發(fā),發(fā)送功能測試合代碼請求,填寫封版內容,提交腳本,解決合并代碼沖突,協(xié)助解決部署問題;
- 組長(項目經理):主要負責創(chuàng)建測試封版請求(運維管理平臺),督促開發(fā)人員合并代碼,檢查封版內容是否準確;
- 測試人員:主要負責功能、性能測試,根據(jù)開發(fā)人員提供的版本tag打包測試,測試通過后通知運維tag分支名稱與測試通過的程序包。
- 運維人員:主要負責生產程序部署(根據(jù)測試通過的程序包),master打制品庫,生產部署過程中出現(xiàn)問題的程序回滾。
- 源代碼管理員:主要負責master源代碼合并(根據(jù)測試通過的版本分支tag),打master的release。
-
流程
- 功能分支
- 開發(fā)人員從master獲取生成功能分支;
- 功能分支線命名規(guī)范:服務名稱+“-”+版本號。
-
- 版本提測(圖1)
- 項目經理(委托人)從master獲取生成V1版本分支,分支線命名規(guī)范:服務名稱+“-”+版本號;
- 開發(fā)人員把需要提測功能分支發(fā)送合并代碼請求通知組長(委托人),組長(委托人)合并代碼生成版本tag并通知測試人員;
- 項目經理(委托人)創(chuàng)建測試封版請求運維管理平臺,由各個開發(fā)人員填寫內容;
- 開發(fā)人員把需要的腳本提交到運維管理平臺版封表格,格式以《SQL審計規(guī)范》https://archery.bndxqc.com/dbaprinciples/;
- 測試人員基于開發(fā)人員提供的tag編譯打包測試;
- 測試完,測試人員給出最終版本tag;
- tag命名規(guī)范:服務名稱+“-”+版本號+“-”+時間(yyyymmddhhmmss);
如:bonade-officialcar-oil-V4.2.0-20210324121145;
- Fix bug重復上述內容,注意:如果在測試期間,生產有發(fā)生bug修復后,需要從新拉取master與現(xiàn)有的版本內容合一次再打tag?。
- 體驗上線(圖1)
- 如果測試通過的版本tag是整體都上體驗,就直接拿版本tag打的包推到體驗環(huán)境,以下步驟不需要執(zhí)行;
- 如果測試通過的版本tag是部分上體驗,需要在版本環(huán)境從新構建,打tag再上測試環(huán)境->體驗環(huán)境;
- Fix bug重復上述內容。
-
- 生產上線(圖1)
- 體驗測試通過直接推送到生產線(包括灰度),原則上測試與體驗是同一個包;
- 生產環(huán)境通過后,由源代碼管理員最終通過的版本tag對應的源代碼合到master,如果發(fā)現(xiàn)沖突項目經理安排開發(fā)人員解決;
- 生產環(huán)境通過后,由源代碼管理員打一個生產版本tag(v1.0.0-release)。
-
- Fix Bug上線(圖2)
- 開發(fā)人員從master拉取代碼生成功能分支進行修復;
- 重復<版本提測>流程。
圖1
圖2
圖3文章來源:http://www.zghlxwxcb.cn/news/detail-586863.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-586863.html
-
配置規(guī)范
- 前端
- 由于存在多個環(huán)境(開發(fā),測試,體驗,生產),而又使用同一個tag發(fā)布代碼,故前端代碼中不應該寫死接口請求域名(如寫死BaseUrl:薪公務用車);
- 若項目中有寫死跨子域名的請求,則需要在代碼中判斷當前環(huán)境,再請求對應環(huán)境的域名;
-
- 后端
- 配置文件統(tǒng)一放在nacos配置中心;
- 啟動配置中心的環(huán)境,通過啟動腳本注入,需要運維配合實施;
- 前端需要用到的域名,由運維統(tǒng)一配置然后提供給開發(fā)人員(包含APP、前端、后端);
- 前端用到的路由,如果是再網(wǎng)關層配置,如gateway,zuul配置的由后端人員配置,如果是nginx的由后端人員提供配置給運維協(xié)助配置。
- 運維
- 域名,nginx,啟動腳本由運維人員配置。
到了這里,關于Git源代碼管理方案的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!