程式碼管理和版本管理的作業流程以及規範是怎樣的?

新夢想IT發表於2019-08-01

程式碼管理和版本管理的作業流程以及規範是怎樣的?下面以文件的形式進行詳細分析,希望能夠給予測試人員一些幫助和指導。

本文目的

本文試圖提供一套有效進行程式碼和版本管理風控的標準、約定和指導。本文以安全可靠的軟體工程原則為基礎,在原始碼層面使其易於管理、維護,同時降低核心技術洩密風險,在版本管理層面,保證每個交付前、交付中、交付後的產品版本是一致的,且可快速、準確的對每個版本中的過程情況進行追溯。本文以透過遵循和不斷改進專案過程中的實施標準,使各專案產生的程式碼有更好的管控機制,降低程式碼洩密風險、降低發版風險並提高軟體開發團隊的生產效率。

本文適用於人群

本文件的預期讀者包括專案開發組全體成員:產品人員、技術管理人員、系統設計人員、系統開發人員、系統測試人員、系統維護人員、推廣培訓人員及其他相關人員。

程式碼管理和版本管理的作業流程以及規範是怎樣的?

使用範圍

本文件適用於所有與程式碼管理、版本控制相關的專案管控工作。

一、管理工具

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章