基于gitlab源碼管理解決方案_第1頁(yè)
基于gitlab源碼管理解決方案_第2頁(yè)
基于gitlab源碼管理解決方案_第3頁(yè)
基于gitlab源碼管理解決方案_第4頁(yè)
基于gitlab源碼管理解決方案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于git、gitlab源碼管理解決方案武漢交易通信息技術(shù)有限公司2017年7月6日Word文檔Word文檔目錄基于 git、gitlab 源碼管理解決方案 11 宗述41.1適用范圍41.2術(shù)語(yǔ)解釋41.3 gitlab 簡(jiǎn)介41.4目標(biāo)以及解決的問(wèn)題 41.5應(yīng)用背景52源碼管理需求和問(wèn)題分析62.1項(xiàng)目源碼權(quán)限控制62.2項(xiàng)目源碼版本備份與安全 62.3項(xiàng)目的進(jìn)度跟蹤73基于gitlab解決方案 73.1 gitlab項(xiàng)目訪問(wèn)級(jí)別控制9 73.2 gitlab項(xiàng)目版本庫(kù)備份 1.13.3 gitlab項(xiàng)目版本庫(kù)管理 12Word文檔1宗述1.1適用范圍本文檔適用于產(chǎn)品實(shí)施部源碼管理域1.

2、2術(shù)語(yǔ)解釋Push: 推送Pull :拉取Commit :提交Clone:克隆1.3 gitlab 簡(jiǎn)介gitlab是開(kāi)源的源碼協(xié)作軟件。使用細(xì)粒度訪問(wèn)控制管理git倉(cāng)庫(kù)以達(dá)到確 保你的源碼安全??蓤?zhí)行源碼檢查和提高源碼合并請(qǐng)求。每一個(gè)項(xiàng)目都有各 自的問(wèn)題跟蹤日志。全球超過(guò)10萬(wàn)個(gè)組織在使用,gitlab是管理git倉(cāng)庫(kù)的最流行的軟件之一1.4目標(biāo)以及解決的問(wèn)題目標(biāo):(1) 項(xiàng)目訪問(wèn)級(jí)別設(shè)置(2) 項(xiàng)目管理和跟蹤。用戶訪問(wèn)權(quán)限設(shè)置解決的問(wèn)題(1) 項(xiàng)目備份繁瑣。(2) 版本差異對(duì)比繁瑣。(3) 版本回退困難。1.5應(yīng)用背景(1) 實(shí)施項(xiàng)目眾多。全國(guó)各地的 MIS項(xiàng)目、POS項(xiàng)目眾多,需要對(duì)各個(gè)

3、項(xiàng)目 源碼、釋放包進(jìn)行備份。采用傳統(tǒng)的 FTP方式備份源碼,隨著時(shí)間的推 移,源碼數(shù)量越來(lái)越龐大,從最新版本回歸到歷史版本,需要進(jìn)行手工 操作,并使用工具對(duì)比版本之間的差異,在這個(gè)過(guò)程中花費(fèi)的時(shí)間成本 較咼。(2) 項(xiàng)目代碼整理復(fù)雜。為了適應(yīng)調(diào)用 MIS接口的交易系統(tǒng)的更新迭代,需 要修改MIS接口源碼,并發(fā)布釋放包。使用傳統(tǒng)的方式管理源碼,并沒(méi) 有記錄源碼修改日志,無(wú)法對(duì)源碼進(jìn)行版本遞歸,難以達(dá)到排查錯(cuò)誤, 代碼優(yōu)化的目的。2源碼管理需求和問(wèn)題分析2.1項(xiàng)目源碼權(quán)限控制項(xiàng)目源碼屬于公司的財(cái)產(chǎn),里面包含許多有價(jià)值的信息以及公司核心技術(shù)。如果源碼核心技術(shù)的泄露被競(jìng)爭(zhēng)對(duì)手獲得,會(huì)對(duì)公司造成損失,降

4、低市 場(chǎng)產(chǎn)品的競(jìng)爭(zhēng)力,因此必須對(duì)源碼進(jìn)行有效的控制。所以用戶與當(dāng)前項(xiàng)目是 否存在關(guān)系,如果存在關(guān)系,用戶在當(dāng)前項(xiàng)目中擔(dān)任怎樣的一種角色?項(xiàng)目 應(yīng)該對(duì)該用戶開(kāi)發(fā)哪些信息,授予哪些權(quán)限等等,是項(xiàng)目管理者考慮的問(wèn)題2.2項(xiàng)目源碼版本備份與安全采用哪種方式備份源碼,如何確保源碼安全,避免源碼的丟失十分重要。傳統(tǒng)的備份方式會(huì)導(dǎo)致很多問(wèn)題。復(fù)制整個(gè)項(xiàng)目目錄來(lái)保存不同的版本,或許還會(huì)改名加上備份時(shí)間以示區(qū)別。這么做唯一的好處就是簡(jiǎn)單,不過(guò)壞 處卻不少:有時(shí)候會(huì)混淆所在的工作目錄,弄錯(cuò)了文件丟了數(shù)據(jù)就沒(méi)了退路。 版本丟失后續(xù)的開(kāi)發(fā),只能從某個(gè)歷史版本基礎(chǔ)上重寫(xiě)開(kāi)發(fā),重復(fù)花費(fèi)人力 物力。如果備份服務(wù)器磁盤(pán)損壞了

5、,這是災(zāi)難性的,公司正在運(yùn)營(yíng)的項(xiàng)目會(huì) 至尿劣的影響,不能修復(fù)現(xiàn)有項(xiàng)目的功能缺陷以后續(xù)的開(kāi)發(fā)。傳統(tǒng)方式備份 難以做到版本遞歸、查閱開(kāi)發(fā)者提交的文件內(nèi)容變更信息、提交日期;難以 做到多開(kāi)發(fā)者并行開(kāi)發(fā)以后代碼合并。2.3項(xiàng)目的進(jìn)度跟蹤沒(méi)有使用版本控制的傳統(tǒng)進(jìn)度跟蹤方式難以及時(shí)跟蹤項(xiàng)目進(jìn)度。項(xiàng)目開(kāi)發(fā) 者的工作處于哪一個(gè)階段?一天的開(kāi)發(fā)工作量是多少?代碼編寫(xiě)質(zhì)量如何? 使用傳統(tǒng)的方式只能詢問(wèn)開(kāi)發(fā)者,閱讀開(kāi)發(fā)者的項(xiàng)目源碼,十分不方便。如 何保證項(xiàng)目進(jìn)度,控制風(fēng)險(xiǎn),提高工作質(zhì)量和效率變得十分艱難。不能隨時(shí) 隨地獲知項(xiàng)目的進(jìn)度、查看代碼的變更、不能審核代碼確保代碼的質(zhì)量。3基于gitlab解決方案3.1 gi

6、tlab項(xiàng)目訪問(wèn)級(jí)別控制訪問(wèn)級(jí)別的控制確保源碼信息開(kāi)放安全。gitlab中項(xiàng)目有3種訪問(wèn)級(jí)別。私有:必須授權(quán)特定用戶,該用戶才能訪問(wèn)項(xiàng)目。內(nèi)部:登錄到 gitlab的用戶 可訪問(wèn)該項(xiàng)目。公開(kāi):無(wú)需任何認(rèn)證的人都能訪問(wèn)該項(xiàng)目。項(xiàng)目所有者可為該項(xiàng)目添加特定成員,并授予 Guest、Report、Developer、Master角色,每一個(gè)角色對(duì)項(xiàng)目擁有不同的權(quán)限,Guestv ReportvDevelopervMaster。也可以將某個(gè)用戶從項(xiàng)目中移除。下表是各個(gè)角色的權(quán)限,0wner為項(xiàng)目用者行為GuestReportDeveloperMasterOwner創(chuàng)建一個(gè)新問(wèn)?題創(chuàng)建一個(gè)機(jī)密?問(wèn)題查看

7、機(jī)密問(wèn)題?留言?查看工作列表?查看工作日志?下載和瀏覽工?作構(gòu)建查看wiki網(wǎng)頁(yè)?拉取項(xiàng)目代碼?下載項(xiàng)目?創(chuàng)建代碼片段?問(wèn)題跟蹤管理?標(biāo)簽管理?查看提交狀態(tài)?查看容器注冊(cè)?表查看環(huán)境?創(chuàng)建一個(gè)新環(huán)?境使用環(huán)境終端?停止環(huán)境?查看合并請(qǐng)求?列表管理/接收合并請(qǐng)求?創(chuàng)建新的合并請(qǐng)求?創(chuàng)建分支?推送到不受保護(hù)的分支?強(qiáng)制推送到不受保護(hù)的分支?移除不受保護(hù)的分支?添加標(biāo)簽?Wiki寫(xiě)作?取消和審查工作?創(chuàng)建或更新一個(gè)提交狀態(tài)?更新注冊(cè)容器?移除注冊(cè)容器鏡像?創(chuàng)建一個(gè)新的里程碑?添加一個(gè)團(tuán)隊(duì)成員?推送到受保護(hù)分支?允許/禁止分支保護(hù)?重寫(xiě)/移除git標(biāo)簽?編輯項(xiàng)目?添加部署密鑰到項(xiàng)目?配置項(xiàng)目鉤子?管理

8、在線用戶?管理工作觸發(fā)器?管理變量?管理頁(yè)面?管理頁(yè)面域和證書(shū)?切換有效級(jí)別?轉(zhuǎn)移項(xiàng)目到另一個(gè)域?移除項(xiàng)目?強(qiáng)制推送到管理分支移除受保護(hù)分支移除頁(yè)面?表3-1角色權(quán)限表項(xiàng)目的訪問(wèn)控制為每個(gè)用戶設(shè)置了不同的權(quán)限,哪些用戶可以了解項(xiàng)目,哪E 些用戶可以查看項(xiàng)目開(kāi)發(fā)情況,哪些用戶可以獲取源碼并修改等等。 有效地控制 項(xiàng)目源碼信息,避免重要的技術(shù)細(xì)節(jié)透露給不需要知道的用戶。3.2 gitlab項(xiàng)目版本庫(kù)備份gitlab可保證版本庫(kù)信息不丟失。gitlab的版本庫(kù)是分布式的,每一個(gè)經(jīng)過(guò)授 權(quán)的git用戶都可以從gitlab中克隆項(xiàng)目源碼,盡管本地網(wǎng)絡(luò)出現(xiàn)問(wèn)題,git用戶 都可以提交源碼、查看提交日志、對(duì)

9、比版本變更。當(dāng)網(wǎng)絡(luò)正常,可以推送到gitlab 版本庫(kù),使用遠(yuǎn)程版本庫(kù)與本地版本庫(kù)源碼一致。當(dāng)gitlab中的項(xiàng)目不小心刪除了,只需從本地上傳項(xiàng)目版本庫(kù)即可,在gitlab中仍可以查看往日的提交日志等各種信息。比較于svn,當(dāng)svn服務(wù)器出現(xiàn)問(wèn)題,導(dǎo)致開(kāi)發(fā)者無(wú)法提交源碼、查 看源碼提交日志等等操作。當(dāng)svn版本庫(kù)出現(xiàn)問(wèn)題,盡管可以上傳原有項(xiàng)目,但 會(huì)造成版本日志丟失,無(wú)法進(jìn)行版本遞歸。圖3-1描述了版本庫(kù)工作原理。開(kāi)發(fā)者從裝有 gitlab的公共服務(wù)器拉取項(xiàng) 目版本庫(kù),每個(gè)版本庫(kù)都有獨(dú)立的版本信息,互不影響。當(dāng)需要合并代碼的時(shí)候,開(kāi)發(fā)者給主開(kāi)發(fā)者提發(fā)送補(bǔ)丁,主開(kāi)發(fā)者審核代碼后合并代碼,然后提交

10、到遠(yuǎn)程 版本庫(kù)。公網(wǎng)服務(wù)器出現(xiàn)問(wèn)題,但不影響各個(gè)開(kāi)發(fā)者版本庫(kù)的版本信息, 仍可以 進(jìn)行版本控制主開(kāi)發(fā)者笈送補(bǔ)本地提交開(kāi)發(fā)里發(fā)送補(bǔ)rpull/fetchouli/fetch本坡蚩空pun/*etch圖3-1版本控制工作原理3.3 gitlab項(xiàng)目版本庫(kù)管理在版本庫(kù)中,可查看開(kāi)發(fā)者提交的信息,包括:提交人,提交日期,瀏覽文 件內(nèi)容變更。手機(jī)也可以訪問(wèn)gitlab,隨時(shí)查看項(xiàng)目情況。也可以了解每個(gè)項(xiàng)目 參與者的貢獻(xiàn)統(tǒng)計(jì),每天、每周、每月代碼提交量。依靠這些信息,可以掌握項(xiàng)目的進(jìn)度,把控風(fēng)險(xiǎn)。ifiataia WNcSrHnPr: : zi ftafk3!Trb?Y :u: I : j-rp - :cu : : I14凸 CWiiW *_* Tljp- ConljvlEr! &-K* 丿 dLf strinirllidi waakJ? Kn 加曲jsnrrili丼皿 iirw 3N 計(jì)葉,3, *p *-*-MT*帀.竄i萄 1IW! Q wtrl, J神lHxr hfr OfwnLharti,Jyn7MF雜 M4TCoriHfirib; ld master. cuVidinj “ pi cnnmlF. Le M t h40 厲日帀也圖3-4項(xiàng)目參與者貢獻(xiàn)統(tǒng)計(jì)CciTirni ts per

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論