程式碼管理和版本管理的作業流程以及規範是怎樣的?
程式碼管理和版本管理的作業流程以及規範是怎樣的?下面以文件的形式進行詳細分析,希望能夠給予測試人員一些幫助和指導。
本文目的
本文試圖提供一套有效進行程式碼和版本管理風控的標準、約定和指導。本文以安全可靠的軟體工程原則為基礎,在原始碼層面使其易於管理、維護,同時降低核心技術洩密風險,在版本管理層面,保證每個交付前、交付中、交付後的產品版本是一致的,且可快速、準確的對每個版本中的過程情況進行追溯。本文以透過遵循和不斷改進專案過程中的實施標準,使各專案產生的程式碼有更好的管控機制,降低程式碼洩密風險、降低發版風險並提高軟體開發團隊的生產效率。
本文適用於人群
本文件的預期讀者包括專案開發組全體成員:產品人員、技術管理人員、系統設計人員、系統開發人員、系統測試人員、系統維護人員、推廣培訓人員及其他相關人員。
使用範圍
本文件適用於所有與程式碼管理、版本控制相關的專案管控工作。
一、管理工具
1、程式碼管理工具Git
Git是一款免費、開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。它是目前世界上使用最廣泛的程式碼管理工具之一,包括Google、Facebook、Microsoft、Twitter等在內的大型企業都在使用他進行管理。Git在本規範中主要用於程式碼管理與開發版本控制。
2、版本管理工具Maven
Maven是一個軟體專案管理及自動構建工具,由Apache軟體基金會所提供。Maven在本規範中主要用於版本號管控以及程式碼部署的自動構建。
3、釋出管理工具Jekins
Jenkins是一個用Java編寫的開源的持續整合工具。它主要用於持續、自動地構建/測試軟體專案。Jenkins在本規範中主要用於系統的自動構建與釋出以及釋出後系統運營的監控管理。
二、版本管理
1、版本命名規範
版本命名包含:主版本號、次版本號、修正版本號、里程碑版本號。例如:2.2.0.Beta2,該版本號代表主機板本為2,次版本為2,修正版本無,且為釋出的第二個公測版本。
具體的各版本號的作用如下:
2、版本管控流程
在產品立項時,一般由產品經理或專案負責人明確專案版本號,其至少包含主版本號和次版本號。
開發、測試、發版過程中需嚴格遵循版本號的約束進行版本管控,主版本號和次版本號一旦制定,就不允許修改,除非重新立項。修正版本號可在開發過程中進行約束,但儘量提前進行約束且儘可能在開發過程中不做調整。
版本釋出時,一般由產品經理或專案負責人指定里程碑版本號。程碑版本號可以跳版本進行發版,也可以無中間版本號。比如,可以直接釋出beta(公測版)或者GA(正式版),但儘可能遵循里程碑版本順序進行發版和版本管控。
三、程式碼管理
1、角色
程式碼管理主要分三大角色:系統管理者、專案管理者、部署者、開發者。系統管理者負責建立新專案、許可權分配、使用者增加刪除和程式碼庫備份。專案管理者負責對具體的某一個專案的許可權分配,程式碼管理。部署者負責對測試程式碼和正式程式碼進行發版部署。開發者負責從專案分支程式碼進行程式碼開發。
2、許可權
管理Git、Maven、Jenkins的各個角色的許可權如下:
3、程式碼管控流程
1)若為新專案,則由系統管理者透過操作Git建立專案工程,並將Git的專案管理許可權賦予專案管理者,且交由專案管理者進行專案與程式碼管控。
2)專案管理者透過操作Git在主幹程式碼庫基礎上建立開發程式碼庫,並將分支程式碼的操作許可權賦予部署者和開發者,同時透過Maven約束版本號。
3)開發者基於開發程式碼庫進行程式碼的開發與合併,並提交測試部署。
4)測試期間,部署者透過操作Jenkins將開發程式碼庫的程式碼發版部署到測試環境,以供測試者進行測試。
5)測試透過後,由專案管理者透過操作Git將開發程式碼庫程式碼合併到主幹程式碼庫。
6)發版上線時,由部署者透過操作Jenkins將主幹程式碼庫的程式碼發版部署到正式環境。
7)系統管理者定期對程式碼庫進行備份。
程式碼管控的具體流程如下圖:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2652493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼分支及版本管理規範
- 程式碼管理流程你們是怎麼做的
- GIT版本管理規範Git
- 軟體版本管理規範
- 研發中版本管理的規範性
- 究竟什麼樣的開發流程是規範的?
- 創業公司到底需要怎樣的產品管理流程?創業
- 密碼管理規範密碼
- 作業三:關於程式碼規範
- 製造業ERP系統運作流程是怎樣的
- 作業二:目前流行的源程式版本管理軟體和專案管理軟體有哪些?專案管理
- 微服務架構下程式碼管理規範微服務架構
- 作業二:附錄流行的源程式版本管理軟體和專案管理軟體都有哪些?專案管理
- 關於包管理、環境管理和版本管理以及容器技術的理解
- 關於程式碼版本管理的思考和建議
- 流程、規則和管理職責
- 業務流程管理三段論之規範化
- git分支管理和工作流規範:具體規範Git
- 對規範施工企業專案管理的思考(轉)專案管理
- svn程式碼版本管理
- pkg版本規範管理自動化最佳實踐
- Facebook是如何管理程式碼的
- 企業如何規範管理員工時間 工時管理系統的作用
- 怎樣才是好用的企業管理軟體?
- Git 分支管理規範Git
- 程式的版本號管理
- 程式設計師是怎麼存檔並管理檔案版本的?程式設計師
- MYSQL查詢和插入資料的流程是怎樣的MySql
- 作業系統-程式管理作業系統
- 《商業銀行應用程式介面安全管理規範》解讀
- 企業管理儀表盤業務與技術--規範資訊規範一
- 淺談專案的規範管理(轉)
- 【企業管理】怎樣培養出色的團隊
- 精益生產管理諮詢公司流程是什麼樣的
- Oracle 資料庫管理指令碼命名規範Oracle資料庫指令碼
- 大型分散式團隊的程式碼版本管理分散式
- git分支基本管理規範Git
- 簡化服裝ERP系統的規範流程和規範功用