本發明涉及軟件工程自動化構建領域,特別是一種基于分支模型與多層流水線的軟件工程自動化構建方法。
背景技術:
1、在軟件開發過程中,代碼構建、測試、部署等步驟通常需要耗費大量的人力和時間。傳統的軟件開發方法存在效率低下、代碼質量難以保證、人為錯誤風險高等問題。流水線未結合分支模型建立流程層級結構,每次全量執行,效率低下,為了解決這些問題,本發明提出了一種基于分支模型與多層流水線的軟件工程自動化構建方法。
技術實現思路
1、本發明的目的在于提供一種基于分支模型與多層流水線的軟件工程自動化構建方法,該方法通過集成版本控制、自動化構建、自動化測試、代碼審查和部署發布等多個步驟,實現了軟件開發的自動化、高效化和質量保障。
2、本發明的技術方案:一種基于分支模型與多層流水線的軟件工程自動化構建方法,包括如下步驟:
3、步驟s1:依據所開發的項目創建代碼分支模型,管理整個項目的代碼;
4、步驟s2:依據分支模型,創建不同的流水線,用于執行代碼檢查、制品構建、測試以及部署,設置不同流水線的觸發規則,在軟件工程化過程的不同環節觸發不同的流水線執行。
5、步驟s3:監控流水線執行情況,并進行數據的統計分析。
6、進一步的,所述步驟s1還包括:
7、步驟s1.1:基于項目創建主分支(master分支),用于基于項目的代碼版本管理;
8、步驟s1.2:基于主分支(master分支)創建迭代分支(sprint分支),用于迭代開發周期的代碼版本管理;
9、步驟s1.3:基于主分支(sprint分支)創建特定的功能分支(feature分支),支持創建多個功能分支,用于功能點開發的代碼版本管理;
10、進一步的,所述步驟s2還包括:
11、步驟s2.1:基于功能分支模型,創建多層流水線,如質量流水線、日常流水線、應用流水線。
12、步驟s2.2:觸發流水線,流水線觸發機制具備高度靈活性,可根據特定事件或設定的定時條件自動啟動,從而支持無縫集成的自動化構建、測試和部署流程。
13、具體的,所述步驟s2.1還包括:
14、步驟s2.1.1:基于功能分支(feature分支)創建質量流水線,質量流水線包括代碼檢查、代碼評審(可選)、拉取代碼、編譯、構建、自動化測試、部署開發環境;
15、步驟s2.1.2:基于迭代分支(sprint分支)創建日常流水線,日常流水線包括代碼檢查、拉取代碼、編譯、構建、自動化測試、部署測試環境;
16、步驟s2.1.3:基于主分支(master分支)創建應用流水線,應用流水線包括代碼檢查、拉取代碼、編譯、構建、自動化測試、部署發布生產環境;
17、具體的,所述步驟s2.2還包括:
18、步驟s2.2.1:開發人員在完成代碼開發,提交代碼合并請求時,自動觸發質量流水線,根據流水線的配置,自動完成代碼檢查、被測產物構建、自動化測試。
19、步驟s2.2.2:在所有開發人員完成功能開發,并且通過所有功能分支的質量流水線,觸發日常流水線,根據日常流水線的配置,自動完成代碼檢查、被測產物構建、自動化測試以及部署測試環境;
20、步驟s2.2.3:在日常流水線執行通過后,可以觸發應用流水線,根據應用流水線的配置,自動完成代碼檢查、被測產物構建、自動化測試以及部署生產環境;
21、進一步的,所述步驟s3還包括:
22、步驟s3.1:實時監控流水線的運行狀態,監控方式包括:
23、數字化大屏監控;
24、運行日志監控
25、一旦檢測到任何異常信息,支持通過多樣化的信息渠道,如郵件通知、短信提醒、警報系統或語音電話呼叫,迅速將相關信息傳達給相應的責任人,確保問題能夠得到及時處理。
26、步驟s3.2:數據統計分析,在軟件工程過程中,數據統計分析扮演著至關重要的角色,它全面覆蓋了各個環節的能效分析,如代碼檢查通過率、缺陷率、缺陷密度等關鍵指標。這些數據不僅支持以多樣化的方式呈現,還為分析決策提供了強有力的依據。具體而言,我們提供以下三種呈現方式:
27、可視化大屏:通過實時更新的數據大屏,用戶可以直觀地了解項目的整體狀態和關鍵指標的變化趨勢,便于快速洞察項目進展和潛在風險。
28、移動端數據呈現:利用移動設備的便捷性,用戶可以隨時隨地查看項目數據,實現遠程監控和管理,確保項目進展盡在掌握。
29、表格化數據報表:我們提供詳盡的表格化數據報表,幫助用戶深入了解各項指標的詳細數據,為決策提供更加精準的數據支持。
30、這三種呈現方式相結合,既滿足了不同用戶的使用習慣,也確保了數據的全面性和準確性,為軟件工程過程的能效分析和決策提供了強有力的支持。
31、有益效果
32、在軟件開發過程中,不同功能或模塊的開發往往需要同時進行,但又不能相互干擾。因此,本發明引入了分支模型的概念。通過在版本控制系統中創建多個分支,每個分支對應一個特定的功能或模塊,開發人員可以在各自的分支上進行獨立的工作,互不干擾。這樣不僅提高了開發的并行性,還降低了代碼沖突的風險。當某個功能或模塊開發完成后,通過合并操作將其合入到主分支中,從而實現了代碼的集中管理和版本控制。
33、為了提高軟件開發的自動化水平和效率,本發明設計了多層流水線的結構,包括質量流水線、日常流水線、應用流水線。多層流水線貫穿軟件開發的整個過程,包括代碼提交、自動化構建、自動化測試、代碼審查、部署發布等。通過自動化工具來實現,無需人工干預。這樣,當開發人員提交代碼合并請求后,流水線會自動觸發后續的操作,如編譯、測試、審查等,從而大大減少了等待時間和人工操作的成本。
34、綜上所述,本發明的核心構思在于通過結合分支模型與多層流水線的優勢,實現軟件工程過程的高效、靈活和高質量的自動化構建。這種方法不僅可以提高軟件開發的效率和質量,還可以降低開發成本和風險,為軟件行業的發展提供有力的支持。
1.一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,所述步驟s1還包括:
3.根據權利要求2所述的基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,步驟s1.1~s1.3中的主分支標識為master分支,迭代分支標識為sprint分支,功能分支標識為feature分支。
4.根據權利要求3所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,所述步驟s2還包括:
5.根據權利要求4所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,所述步驟s2.1還包括:
6.根據權利要求3所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,所述步驟s2.2還包括:
7.根據權利要求1所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,所述步驟s3還包括:
8.根據權利要求7所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,步驟s3.1中,監控方式支持以不同的信息渠道發布監控異常信息給相關責任人,包括郵件、短信、警報或者語音電話。
9.根據權利要求7所述的一種基于分支模型與多層流水線的軟件工程自動化構建方法,其特征在于,步驟s3.2中,,具體呈現方式支持: