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

下載本文檔

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

文檔簡介

1、基于git、gitlab源碼管理解決方案武漢交易通信息技術(shù)有限公司2017年7月6日目錄基于git、gitlab源碼管理解決方案11宗述31.1適用范圍31.2術(shù)語解釋31.3 gitlab簡介31.4目標以及解決的問題31.5應(yīng)用背景32 源碼管理需求和問題分析42.1項目源碼權(quán)限控制42.2項目源碼版本備份與安全42.3項目的進度跟蹤43 基于gitlab解決方案53.1 gitlab項目訪問級別控制53.2 gitlab項目版本庫備份73.3 gitlab項目版本庫管理81宗述1.1適用范圍本文檔適用于產(chǎn)品實施部源碼管理域1.2術(shù)語解釋Push:推送Pull:拉取Commit:提交Clo

2、ne:克隆1.3 gitlab簡介gitlab是開源的源碼協(xié)作軟件。使用細粒度訪問控制管理git倉庫以達到確保你的源碼安全??蓤?zhí)行源碼檢查和提高源碼合并請求。每一個項目都有各自的問題跟蹤日志。全球超過10萬個組織在使用,gitlab是管理git倉庫的最流行的軟件之一。1.4目標以及解決的問題目標:(1) 項目訪問級別設(shè)置。(2) 項目管理和跟蹤。(3) 用戶訪問權(quán)限設(shè)置。解決的問題(1) 項目備份繁瑣。(2) 版本差異對比繁瑣。(3) 版本回退困難。1.5應(yīng)用背景(1) 實施項目眾多。全國各地的MIS項目、POS項目眾多,需要對各個項目源碼、釋放包進行備份。采用傳統(tǒng)的FTP方式備份源碼,隨著時

3、間的推移,源碼數(shù)量越來越龐大,從最新版本回歸到歷史版本,需要進行手工操作,并使用工具對比版本之間的差異,在這個過程中花費的時間成本較高。(2) 項目代碼整理復(fù)雜。為了適應(yīng)調(diào)用MIS接口的交易系統(tǒng)的更新迭代,需要修改MIS接口源碼,并發(fā)布釋放包。使用傳統(tǒng)的方式管理源碼,并沒有記錄源碼修改日志,無法對源碼進行版本遞歸,難以達到排查錯誤,代碼優(yōu)化的目的。 2 源碼管理需求和問題分析2.1項目源碼權(quán)限控制項目源碼屬于公司的財產(chǎn),里面包含許多有價值的信息以及公司核心技術(shù)。如果源碼核心技術(shù)的泄露被競爭對手獲得,會對公司造成損失,降低市場產(chǎn)品的競爭力,因此必須對源碼進行有效的控制。所以用戶與當前項目是否存在

4、關(guān)系,如果存在關(guān)系,用戶在當前項目中擔任怎樣的一種角色?項目應(yīng)該對該用戶開發(fā)哪些信息,授予哪些權(quán)限等等,是項目管理者考慮的問題2.2項目源碼版本備份與安全 采用哪種方式備份源碼,如何確保源碼安全,避免源碼的丟失十分重要。傳統(tǒng)的備份方式會導(dǎo)致很多問題。復(fù)制整個項目目錄來保存不同的版本,或許還會改名加上備份時間以示區(qū)別。這么做唯一的好處就是簡單,不過壞處卻不少:有時候會混淆所在的工作目錄,弄錯了文件丟了數(shù)據(jù)就沒了退路。版本丟失后續(xù)的開發(fā),只能從某個歷史版本基礎(chǔ)上重寫開發(fā),重復(fù)花費人力物力。如果備份服務(wù)器磁盤損壞了,這是災(zāi)難性的,公司正在運營的項目會到惡劣的影響,不能修復(fù)現(xiàn)有項目的功能缺陷以后續(xù)的開

5、發(fā)。傳統(tǒng)方式備份難以做到版本遞歸、查閱開發(fā)者提交的文件內(nèi)容變更信息、提交日期;難以做到多開發(fā)者并行開發(fā)以后代碼合并。2.3項目的進度跟蹤 沒有使用版本控制的傳統(tǒng)進度跟蹤方式難以及時跟蹤項目進度。項目開發(fā)者的工作處于哪一個階段?一天的開發(fā)工作量是多少?代碼編寫質(zhì)量如何?使用傳統(tǒng)的方式只能詢問開發(fā)者,閱讀開發(fā)者的項目源碼,十分不方便。如何保證項目進度,控制風險,提高工作質(zhì)量和效率變得十分艱難。不能隨時隨地獲知項目的進度、查看代碼的變更、不能審核代碼確保代碼的質(zhì)量。3 基于gitlab解決方案3.1 gitlab項目訪問級別控制訪問級別的控制確保源碼信息開放安全。gitlab中項目有3種訪問級別。私

6、有:必須授權(quán)特定用戶,該用戶才能訪問項目。內(nèi)部:登錄到gitlab的用戶可訪問該項目。公開:無需任何認證的人都能訪問該項目。項目所有者可為該項目添加特定成員,并授予Guest、Report、Developer、Master角色,每一個角色對項目擁有不同的權(quán)限,Guest< Report< Developer<Master。也可以將某個用戶從項目中移除。下表是各個角色的權(quán)限,Owner為項目用者行為GuestReportDeveloperMasterOwner創(chuàng)建一個新問題創(chuàng)建一個機密問題查看機密問題留言查看工作列表查看工作日志下載和瀏覽工作構(gòu)建查看wiki網(wǎng)頁拉取項目代碼下載

7、項目創(chuàng)建代碼片段問題跟蹤管理標簽管理查看提交狀態(tài)查看容器注冊表查看環(huán)境創(chuàng)建一個新環(huán)境使用環(huán)境終端停止環(huán)境查看合并請求列表管理/接收合并請求創(chuàng)建新的合并請求創(chuàng)建分支推送到不受保護的分支強制推送到不受保護的分支移除不受保護的分支添加標簽Wiki寫作取消和審查工作創(chuàng)建或更新一個提交狀態(tài)更新注冊容器移除注冊容器鏡像創(chuàng)建一個新的里程碑添加一個團隊成員推送到受保護分支允許/禁止分支保護重寫/移除git標簽編輯項目添加部署密鑰到項目配置項目鉤子管理在線用戶管理工作觸發(fā)器管理變量管理頁面管理頁面域和證書切換有效級別轉(zhuǎn)移項目到另一個域移除項目強制推送到管理分支移除受保護分支移除頁面表 3-1 角色權(quán)限表項目的訪

8、問控制為每個用戶設(shè)置了不同的權(quán)限,哪些用戶可以了解項目,哪些用戶可以查看項目開發(fā)情況,哪些用戶可以獲取源碼并修改等等。有效地控制項目源碼信息,避免重要的技術(shù)細節(jié)透露給不需要知道的用戶。3.2 gitlab項目版本庫備份gitlab可保證版本庫信息不丟失。 gitlab的版本庫是分布式的,每一個經(jīng)過授權(quán)的git用戶都可以從gitlab中克隆項目源碼,盡管本地網(wǎng)絡(luò)出現(xiàn)問題,git用戶都可以提交源碼、查看提交日志、對比版本變更。當網(wǎng)絡(luò)正常,可以推送到gitlab版本庫,使用遠程版本庫與本地版本庫源碼一致。當gitlab中的項目不小心刪除了,只需從本地上傳項目版本庫即可,在gitlab中仍可以查看往日

9、的提交日志等各種信息。比較于svn,當svn服務(wù)器出現(xiàn)問題,導(dǎo)致開發(fā)者無法提交源碼、查看源碼提交日志等等操作。當svn版本庫出現(xiàn)問題,盡管可以上傳原有項目,但會造成版本日志丟失,無法進行版本遞歸。圖 3-1描述了版本庫工作原理。開發(fā)者從裝有g(shù)itlab 的公共服務(wù)器拉取項目版本庫,每個版本庫都有獨立的版本信息,互不影響。當需要合并代碼的時候,開發(fā)者給主開發(fā)者提發(fā)送補丁,主開發(fā)者審核代碼后合并代碼,然后提交到遠程版本庫。公網(wǎng)服務(wù)器出現(xiàn)問題,但不影響各個開發(fā)者版本庫的版本信息,仍可以進行版本控制。圖 3-1 版本控制工作原理3.3 gitlab項目版本庫管理在版本庫中,可查看開發(fā)者提交的信息,包括:提交人,提交日期,瀏覽文件內(nèi)容變更。手機也可以訪

溫馨提示

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

評論

0/150

提交評論