代码管理和版本管理的作业流程以及规范是怎样的?
代碼管理和版本管理的作業(yè)流程以及規(guī)范是怎樣的??
代碼管理和版本管理的作業(yè)流程以及規(guī)范是怎樣的?下面以文檔的形式進(jìn)行詳細(xì)分析,希望能夠給予測(cè)試人員一些幫助和指導(dǎo)。
本文目的
本文試圖提供一套有效進(jìn)行代碼和版本管理風(fēng)控的標(biāo)準(zhǔn)、約定和指導(dǎo)。本文以安全可靠的軟件工程原則為基礎(chǔ),在源代碼層面使其易于管理、維護(hù),同時(shí)降低核心技術(shù)泄密風(fēng)險(xiǎn),在版本管理層面,保證每個(gè)交付前、交付中、交付后的產(chǎn)品版本是一致的,且可快速、準(zhǔn)確的對(duì)每個(gè)版本中的過(guò)程情況進(jìn)行追溯。本文以通過(guò)遵循和不斷改進(jìn)項(xiàng)目過(guò)程中的實(shí)施標(biāo)準(zhǔn),使各項(xiàng)目產(chǎn)生的代碼有更好的管控機(jī)制,降低代碼泄密風(fēng)險(xiǎn)、降低發(fā)版風(fēng)險(xiǎn)并提高軟件開(kāi)發(fā)團(tuán)隊(duì)的生產(chǎn)效率。
本文適用于人群
本文檔的預(yù)期讀者包括項(xiàng)目開(kāi)發(fā)組全體成員:產(chǎn)品人員、技術(shù)管理人員、系統(tǒng)設(shè)計(jì)人員、系統(tǒng)開(kāi)發(fā)人員、系統(tǒng)測(cè)試人員、系統(tǒng)維護(hù)人員、推廣培訓(xùn)人員及其他相關(guān)人員。
使用范圍
本文檔適用于所有與代碼管理、版本控制相關(guān)的項(xiàng)目管控工作。
一、管理工具
1、代碼管理工具Git
Git是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。它是目前世界上使用最廣泛的代碼管理工具之一,包括Google、Facebook、Microsoft、Twitter等在內(nèi)的大型企業(yè)都在使用他進(jìn)行管理。Git在本規(guī)范中主要用于代碼管理與開(kāi)發(fā)版本控制。
2、版本管理工具M(jìn)aven
Maven是一個(gè)軟件項(xiàng)目管理及自動(dòng)構(gòu)建工具,由Apache軟件基金會(huì)所提供。Maven在本規(guī)范中主要用于版本號(hào)管控以及代碼部署的自動(dòng)構(gòu)建。
3、發(fā)布管理工具Jekins
Jenkins是一個(gè)用Java編寫(xiě)的開(kāi)源的持續(xù)集成工具。它主要用于持續(xù)、自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目。Jenkins在本規(guī)范中主要用于系統(tǒng)的自動(dòng)構(gòu)建與發(fā)布以及發(fā)布后系統(tǒng)運(yùn)營(yíng)的監(jiān)控管理。
二、版本管理
1、版本命名規(guī)范
版本命名包含:主版本號(hào)、次版本號(hào)、修正版本號(hào)、里程碑版本號(hào)。例如:2.2.0.Beta2,該版本號(hào)代表主板本為2,次版本為2,修正版本無(wú),且為發(fā)布的第二個(gè)公測(cè)版本。
具體的各版本號(hào)的作用如下:
2、版本管控流程
在產(chǎn)品立項(xiàng)時(shí),一般由產(chǎn)品經(jīng)理或項(xiàng)目負(fù)責(zé)人明確項(xiàng)目版本號(hào),其至少包含主版本號(hào)和次版本號(hào)。
開(kāi)發(fā)、測(cè)試、發(fā)版過(guò)程中需嚴(yán)格遵循版本號(hào)的約束進(jìn)行版本管控,主版本號(hào)和次版本號(hào)一旦制定,就不允許修改,除非重新立項(xiàng)。修正版本號(hào)可在開(kāi)發(fā)過(guò)程中進(jìn)行約束,但盡量提前進(jìn)行約束且盡可能在開(kāi)發(fā)過(guò)程中不做調(diào)整。
版本發(fā)布時(shí),一般由產(chǎn)品經(jīng)理或項(xiàng)目負(fù)責(zé)人指定里程碑版本號(hào)。程碑版本號(hào)可以跳版本進(jìn)行發(fā)版,也可以無(wú)中間版本號(hào)。比如,可以直接發(fā)布beta(公測(cè)版)或者GA(正式版),但盡可能遵循里程碑版本順序進(jìn)行發(fā)版和版本管控。
三、代碼管理
1、角色
代碼管理主要分三大角色:系統(tǒng)管理者、項(xiàng)目管理者、部署者、開(kāi)發(fā)者。系統(tǒng)管理者負(fù)責(zé)創(chuàng)建新項(xiàng)目、權(quán)限分配、用戶增加刪除和代碼庫(kù)備份。項(xiàng)目管理者負(fù)責(zé)對(duì)具體的某一個(gè)項(xiàng)目的權(quán)限分配,代碼管理。部署者負(fù)責(zé)對(duì)測(cè)試代碼和正式代碼進(jìn)行發(fā)版部署。開(kāi)發(fā)者負(fù)責(zé)從項(xiàng)目分支代碼進(jìn)行代碼開(kāi)發(fā)。
2、權(quán)限
管理Git、Maven、Jenkins的各個(gè)角色的權(quán)限如下:
3、代碼管控流程
1)若為新項(xiàng)目,則由系統(tǒng)管理者通過(guò)操作Git創(chuàng)建項(xiàng)目工程,并將Git的項(xiàng)目管理權(quán)限賦予項(xiàng)目管理者,且交由項(xiàng)目管理者進(jìn)行項(xiàng)目與代碼管控。
2)項(xiàng)目管理者通過(guò)操作Git在主干代碼庫(kù)基礎(chǔ)上創(chuàng)建開(kāi)發(fā)代碼庫(kù),并將分支代碼的操作權(quán)限賦予部署者和開(kāi)發(fā)者,同時(shí)通過(guò)Maven約束版本號(hào)。
3)開(kāi)發(fā)者基于開(kāi)發(fā)代碼庫(kù)進(jìn)行代碼的開(kāi)發(fā)與合并,并提交測(cè)試部署。
4)測(cè)試期間,部署者通過(guò)操作Jenkins將開(kāi)發(fā)代碼庫(kù)的代碼發(fā)版部署到測(cè)試環(huán)境,以供測(cè)試者進(jìn)行測(cè)試。
5)測(cè)試通過(guò)后,由項(xiàng)目管理者通過(guò)操作Git將開(kāi)發(fā)代碼庫(kù)代碼合并到主干代碼庫(kù)。
6)發(fā)版上線時(shí),由部署者通過(guò)操作Jenkins將主干代碼庫(kù)的代碼發(fā)版部署到正式環(huán)境。
7)系統(tǒng)管理者定期對(duì)代碼庫(kù)進(jìn)行備份。
代碼管控的具體流程如下圖:
總結(jié)
以上是生活随笔為你收集整理的代码管理和版本管理的作业流程以及规范是怎样的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 内分泌不孕症如何治疗
- 下一篇: 中国大巴租赁行业市场前瞻与投资战略规划分