前言
低代碼平臺是一種利用可視化界面和拖拽功能來快速開發應用程序的工具,它可以減少手動編碼的工作量,提高開發效率和質量。低代碼平臺通常提供了一系列的預構建模塊、組件和服務,讓開發者可以根據業務需求和邏輯來組合和配置,而不需要關心底層的技術細節。低代碼平臺也支持與其他系統和服務的集成,以及在不同的雲環境或本地環境中部署和擴展應用程序。
在使用低代碼平臺開發應用程序的過程中,一個重要的問題是如何實現版本管理。版本管理是指對應用程序的源代碼、配置文件、文檔等進行跟蹤和控制的過程,它可以幫助開發者記錄和保存每一個版本的變化,方便進行回溯、比較、合併和恢復。版本管理也可以支持多人協作開發,避免衝突和錯誤,以及實現持續集成和持續交付的流程。
不同的低代碼平臺可能有不同的版本管理機制和工具,但是一般來說,它們都遵循以下的原則和步驟:
- 使用模型驅動的開發方法。低代碼平臺的核心特徵之一是使用模型驅動的開發方法,即通過圖形化的方式來定義應用程序的數據模型、業務邏輯、用戶界面、流程等。這樣,應用程序的源代碼就會由模型生成,而不是由開發者手動編寫的。這意味着,版本管理的對象是模型,而不是代碼。
- 使用基於Git的版本控制系統。Git是一個分佈式的版本控制系統,它可以讓開發者在本地和遠程倉庫中存儲和管理應用程序的版本。Git的優點是它可以支持分支、標籤、合併、衝突解決、歷史查看等功能,以及與其他開發工具和平臺的集成。低代碼平臺通常會提供一個基於Git的版本控制系統,並且允許開發者使用自己的Git倉庫,來管理應用程序的模型。開發者可以使用低代碼平臺的圖形化界面或者命令行工具來執行Git的操作,如提交、推送、拉取、分支、合併等。
- 使用雲端的協作和發佈平臺。除了使用Git來管理應用程序的版本,低代碼平臺還會提供一個雲端的協作和發佈平臺,讓開發者可以在一個統一的環境中進行項目管理、團隊協作、反饋收集、測試、部署、監控等活動。雲端的協作和發佈平臺可以與Git倉庫進行同步,保證應用程序的版本一致性和安全性。開發者可以使用雲端的協作和發佈平臺來創建、管理和切換不同的應用程序版本,如開發版、測試版、生產版等,以及在不同的環境中部署和運行應用程序,如公有云、私有云、混合雲、本地環境等。
因此,低代碼平臺可以通過使用模型驅動的開發方法、基於Git的版本控制系統和雲端的協作和發佈平臺來實現版本管理。這樣,開發者可以更高效、更安全、更靈活地開發、維護和更新應用程序,同時保證應用程序的質量和穩定性。下面小編將以葡萄城公司的企業級低代碼開發平臺爲例,給大家介紹一下低代碼平臺的版本管理都包含哪些內容。
低代碼中的版本管理
一、爲什麼要做版本管理?
版本管理(Version Control)的本質是在管理更新的歷史記錄,也是在管理開發團隊的直接工作成果。在軟件工程誕生的初期,開發者管理的版本和最終用戶看到的軟件版本一致,這導致一個版本中包含的內容非常多。開發者無法針對其中的部分內容,比如一個頁面、一個服務端命令進行回滾來快速定位問題,因此多個開發者一同開發時,也很難在第一時間將自己正在開發的內容和其他同事正在開發的內容及時合併起來進行自測,就會存在很大的風險。於是,版本管理的粒度開始細化,從管理軟件的版本,到管理更細化的源代碼(低代碼的工程文件)的版本,從此軟件工程中最重要的概念之一:版本管理就誕生了。從實踐上看,在低代碼中啓用“協作工程”,引入軟件工程中主流的版本管理技術,除了可以讓多人協作開發同一個項目外,還可以讓開發更有序,從而避免以下的風險:
- 硬盤文件損壞導致之前開發的工程無法打開;
- 無法確定和線上版本一致的工程,導致修改線上Bug後,出現預期外的結果。
二、低代碼 vs Git
低代碼開發與編碼開發一樣,都沿用了同一套Git版本管理機制。下表是關於低代碼版本控制與Git的對比:
低代碼的可視化操作 | Git的概念和命令 | 說明 | 常見應用場景 |
---|---|---|---|
協同工程 | 本地 repository | ||
- 協作服務器地址 | 遠程 repository(HTTPS)地址 | ||
- 分支 | 分支 branch | ||
- 打開工程 | 克隆 clone | 將遠程repository的文件拉取到本地 | 在新的電腦上打開現有的工程 |
- 創建工程 | 強制推送 push --force | 遠程repository的文件被廢棄,採用本地文件覆蓋,通常用於初始化遠程repository | 創建一個工程後,將其上傳到版本管理服務器 |
工程模塊與狀態 | 文件狀態 status | 查看變更的文件和放在緩存區(新增)的文件 | 檢查哪些文件被鎖定了,確認是誰鎖定了這些文件 |
- 簽出 | N/A | 低代碼自行實現的文件鎖定機制,其他開發者無法簽出的已經標記爲簽出的文件修改文件時,設計器自動設置簽出狀態,用戶也可以在【工程模塊】頁面手動簽出 | 修改這個文件 |
- 簽入 | 提交併推送 commit + push | ||
未處理的變更 | 文件狀態 status | ||
提交歷史 | 日誌 log | 查看遠程分支的所有提交記錄,以及每次提交中包含的全部內容 | |
- 回滾到當前選擇的版本 | 徹底回退 reset –hard | 將遠程分支徹底回退到某個版本,然後將該版本的文件拉取到本地,覆蓋本地文件 | |
- 當前選定的版本另存爲 | 克隆 clone | 將遠程repository的文件拉取到本地,然後生成一個新的工程文件 | |
獲取最新版本 | 拉取 pull | 獲取遠程文件,本地修改過的文件、放在緩存區(新增)的文件都會被保留 | |
- 強制同步爲最新版本 | 強制拉取 pull --force | 本地文件被廢棄,使用遠程文件覆蓋 |
三、建立版本管理規則
在開發過程中,推薦建立版本管理規則,確保所有開發人員瞭解和遵循這些規則:
- 【推薦】除非臨時的實驗項目,或學習、練習用項目,建議所有投入使用的項目都需要啓用版本管理
- 【推薦】開發者需要爲每一次提交的代碼寫“簽入註釋”
- 【推薦】在簽入之前需要先【獲取最新版本】,完成自測,確保功能無誤後方執行簽入操作
- 【推薦】在啓用了多分支的項目中,除負責分支合併的開發者,其他人都不允許簽入到master分支
- 【建議】除非必要,不要手動簽出模塊或頁面,儘量減少簽入的範圍,以免影響其他人工作
- 【建議】團隊成員間按照功能模塊或前後端的方式進行分工,可有效避免簽出時發生衝突
- 【建議】插件、服務端引入的編程擴展類庫、前端引入的JavaScript文件等沒有納入設計器的版本管理,推薦在對應的開發工具(如Visual Studio)上做好版本管理
四、多分支管理實踐
在項目發佈上線後,團隊在開發新版本同時,難免會需要對舊版本的Bug進行快速修復,因爲這些Bug的修正工作可能無法推遲到新版本上線時。新版本開發的週期越長,在開發過程中需要對舊版本進行維護性Bug修正的風險就越大。面對這種情況,需要在版本管理的基礎上,引入多分支管理,讓新版本開發工作和舊版本維護工作可以分開避免互相干擾。
不同的開發團隊在分支操作上有較大的差異性。下面展示的是一個簡單易行的方案:
4.1 分支定義
- Master:主分支,與線上環境同步,通常不允許開發人員對master分支進行簽入
- Develop:新版本開發的分支,從Master分支上創建,新版本上線時,由專人合併到Master分支
- Hotfix:爲修復重要Bug單獨創建的分支,從Master分支創建,Bug修正上線後,由專人合併到Master分支
4.2 分支操作流程
場景 | Master | Develop | Hotfix |
---|---|---|---|
立項 | 專人創建master分支 | 專人從master創建develop分支 | |
V1.0的開發階段 | 所有人在develop分支開發 | ||
V1.0發佈 | 專人將develop合併到master | ||
V2.0的開發階段 | 所有人在develop分支開發 | ||
V2.0的開發過程中,發現需要緊急修復的Bug | 專人從master創建hotfix分支 | ||
執行Bug修復 | 負責修復的開發者在hotfix分支開發 | ||
Bug修復版(V1.1)發佈 | 專人將hotfix合併到master | 負責修復的開發者參考master分支的做法,結合V2.0的功能,在develop分支上完成bug修復 | |
V2.0發佈 | 專人將develop合併到master |
舉個例子:在低代碼中進行協同的操作步驟
(1)在Git中複製代碼鏈接
(2)在低代碼中創建協同工程
打開設計器,在上方菜單欄中選擇“高級”,創建工程:
在“協作服務器地址”中輸入協同網站中對應倉庫的地址,然後點擊“確定”,此時會先進行身份驗證,輸入對應協同網站的用戶名或郵箱及密碼後,驗證通過,會將當前工程推送至對應倉庫中,此時該工程已成功創建爲協同工程。
(3)對象協同化
創建爲協同工程後,左側的對象管理器中,可以看到每個獨立的頁面、母版頁等都帶有一個小鎖的標誌。
當某個頁面或其他元素被簽出後,鎖標誌會變化爲綠色對勾。
(4)選擇性提交未處理變更
在簽入所有未處理變更時,可以選擇簽入的部分,忽略無須簽入的部分。
(5)詳細地提交歷史
針對每一位協同人員的提交歷史,在提交歷史中會詳細進行記錄簽入信息,並且可以另存爲、回滾任意版本。
(6)工程模塊
在模塊選項中看到各個模塊的狀態,並會細化到低代碼設計器中的各個功能點。
(7)打開協同工程
除此之外,也支持開發人員支持已有的協同工程,可以隨時隨地加入協作人員,共同進行項目的開發。
總結
本文介紹瞭如何通過低代碼實現版本管理。如果您想了解更多相關資料,歡迎點擊這裏。我們提供了更多深入的資源和信息,幫助您進一步瞭解低代碼開發平臺的版本管理功能,以及如何在實際項目中應用它們。
擴展鏈接: