基于gitlab源码管理解决方案_第1页
基于gitlab源码管理解决方案_第2页
基于gitlab源码管理解决方案_第3页
基于gitlab源码管理解决方案_第4页
基于gitlab源码管理解决方案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文档精选文档基于git、gitlab源码管理解决方案武汉交易通信息技术有限公司2017年7月6日目录TOC\o"1-5"\h\z基于git、gitlab源码管理解决方案 1\o"CurrentDocument"宗述 3\o"CurrentDocument"适用范围 3\o"CurrentDocument"术语解释 3gitlab简介 3\o"CurrentDocument"目标以及解决的问题 3\o"CurrentDocument"应用背景 3\o"CurrentDocument"源码管理需求和问题分析 4\o"CurrentDocument"项目源码权限控制 4\o"CurrentDocument"项目源码版本备份与安全 4\o"CurrentDocument"项目的进度跟踪 4基于gitlab解决方案 5gitlab项目访问级别控制 5gitlab项目版本库备份 7gitlab项目版本库管理 8宗述适用范围本文档适用于产品实施部源码管理域术语解释Push:推送Pull:拉取Commit:提交Clone:克隆gitlab简介gitlab是开源的源码协作软件。使用细粒度访问控制管理git仓库以达到确保你的源码安全。可执行源码检查和提高源码合并请求。每一个项目都有各自的问题跟踪日志。全球超过10万个组织在使用,gitlab是管理旗仓库的最流行的软件之一。目标以及解决的问题目标:项目访问级别设置。项目管理和跟踪。用户访问权限设置。解决的问题项目备份繁琐。版本差异对比繁琐。版本回退困难。1.5应用背景(1)实施项目众多。全国各地的MIS项目、口。$项目众多,需要对各个项目源码、释放包进行备份。采用传统的FTP方式备份源码,随着时间的推移,源码数量越来越庞大,从最新版本回归到历史版本,需要进行手工操作,并使用工具对比版本之间的差异,在这个过程中花费的时间成本较高。⑵项目代码整理复杂。为了适应调用MIS接口的交易系统的更新迭代,需要修改MIS接口源码,并发布释放包。使用传统的方式管理源码,并没有记录源码修改日志,无法对源码进行版本递归,难以达到排查错误,代码优化的目的。2源码管理需求和问题分析项目源码权限控制项目源码属于公司的财产,里面包含许多有价值的信息以及公司核心技术。如果源码核心技术的泄露被竞争对手获得,会对公司造成损失,降低市场产品的竞争力,因此必须对源码进行有效的控制。所以用户与当前项目是否存在关系,如果存在关系,用户在当前项目中担任怎样的一种角色?项目应该对该用户开发哪些信息,授予哪些权限等等,是项目管理者考虑的问题项目源码版本备份与安全采用哪种方式备份源码,如何确保源码安全,避免源码的丢失十分重要。传统的备份方式会导致很多问题。复制整个项目目录来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,不过坏处却不少:有时候会混淆所在的工作目录,弄错了文件丢了数据就没了退路。版本丢失后续的开发,只能从某个历史版本基础上重写开发,重复花费人力物力。如果备份服务器磁盘损坏了,这是灾难性的,公司正在运营的项目会到恶劣的影响,不能修复现有项目的功能缺陷以后续的开发。传统方式备份难以做到版本递归、查阅开发者提交的文件内容变更信息、提交日期;难以做到多开发者并行开发以后代码合并。项目的进度跟踪没有使用版本控制的传统进度跟踪方式难以及时跟踪项目进度。项目开发者的工作处于哪一个阶段?一天的开发工作量是多少?代码编写质量如何?使用传统的方式只能询问开发者,阅读开发者的项目源码,十分不方便。如何保证项目进度,控制风险,提高工作质量和效率变得十分艰难。不能随时随地获知项目的进度、查看代码的变更、不能审核代码确保代码的质量。3基于gitlab解决方案口庾弱项目访问级别控制访问级别的控制确保源码信息开放安全。gitlab中项目有3种访问级别。私有:必须授权特定用户,该用户才能访问项目。内部:登录到旗lab的用户可访问该项目。公开:无需任何认证的人都能访问该项目。项目所有者可为该项目添加特定成员,并授予Guest、Report、Developer、Master角色,每一个角色对项目拥有不同的权限,Guest<Report<Developer<Master。也可以将某个用户从项目中移除。下表是各个角色的权限,Owner为项目用者行为GuestReportDeveloperMasterOwner创建一个新问题/////创建一个机密问题/////查看机密问题/////留言/////查看工作列表/////查看工作日志/////下载和浏览工作构建/////查看wiki网页/////

拉取项目代码////下载项目////创建代码片段////问题跟踪管理////标签管理////查看提交状态////查看容器注册表////查看环境////创建一个新环境///使用环境终端//停止环境///查看合并请求列表////管理/接收合并请求///创建新的合并请求///创建分支///推送到不受保护的分支///

强制推送到不受保护的分支///移除不受保护的分支///添加标签///Wiki写作///取消和审查工作///创建或更新一个提交状态///更新注册容器///移除注册容器镜像///创建一个新的里程碑//添加一个团队成员//推送到受保护分支//允许/禁止分支保护//重写/移除旗//

标签

编辑项目//添加部署密钥到项目//配置项目钩子//管理在线用户//管理工作触发器//管理变量//管理页面//管理页面域和证书//切换有效级别/转移项目到另一个域/移除项目/强制推送到管理分支移除受保护分移除页面/表3-1角色权限表项目的访问控制为每个用户设置了不同的权限,哪些用户可以了解项目,哪些用户可以查看项目开发情况,哪些用户可以获取源码并修改等等。有效地控制项目源码信息,避免重要的技术细节透露给不需要知道的用户。质或项目版本库备份gitlab可保证版本库信息不丢失。gitlab的版本库是分布式的,每一个经过授权的旗用户都可以从旗延中克隆项目源码,尽管本地网络出现问题,旗用户都可以提交源码、查看提交日志、对比版本变更。当网络正常,可以推送到gitlab版本库,使用远程版本库与本地版本库源码一致。当旗lab中的项目不小心删除了,只需从本地上传项目版本库即可,在gitlab中仍可以查看往日的提交日志等各种信息。比较于svn,当svn服务器出现问题,导致开发者无法提交源码、查看源码提交日志等等操作。当svn版本库出现问题,尽管可以上传原有项目,但会造成版本日志丢失,无法进行版本递归。图3-1描述了版本库工作原理。开发者从装有gitlab的公共服务器拉取项目版本库,每个版本库都有独立的版本信息,互不影响。当需要合并代码的时候,开发者给主开发者提发送补丁,主开发者审核代码后合并代码,然后提交到远程版本库。公网服务器出现问题,但不影响各个开发者版本库的版本信息,仍可以进行版本控制。

公7;依务器主开发者发送补开发者本地提交匿在冲突开发者本也本地提交发送补「公7;依务器主开发者发送补开发者本地提交匿在冲突开发者本也本地提交发送补「\pull/fetchpull/fetchpull/fetch图3-1版本控制工作原理gitlab项目版本库管理在版本库中,可查看开发者提交的信息,包括:提交人,提交日期,浏览文件内容变更。手机也可以访问gitlab,随时查看项目情况。也可以了解每个项目参与者的贡献统计,每天、每周、每月代码提交量。依靠这些信息,可以掌握项目的进度,把控风险。l=*S50*1mHifrjnchej:T.期.CEHjirE-GnphOJWE6«*1¥zgthird!'XJllQLr5F1EH/jJ'iEzgthird!'XJllQLr5F1EH/jJ'iE9?1间酗曰迎祁常上侪文作%r『euj^£imruttedid"号口寸「津域omnliMlZdays•埼a?SJiri2D37]曲师富海蹴”X♦'eujgasnnilix^三口2?Jli-i了1D&nmh■gt;XD月但图EnmKIed«yUm:渤.iJFriaisIrtiH^.n_SRniLalrnCUdIE.hd9aEdbrbjf£srr«nrlmicsbgi"砧I罔41#也 £rgu■口hL9M77W骷 Emu芹tF?R“7网dk偿电Bmwi>niEsLSU«»Hd帖 MgtR仁3枇配赧t E^wi»nEa图图3-2提交信息列表gclzstzPL番风翻gclzstzPL番风翻?famnilE图3-3内容变更对比Juma112&17-JulyS2017grmti50H4FIe7日:由成「中肛re钞s削MUgHi。»EONmmi也图3-4项目参与者贡献统计-T-'工医、后电1当马、口、**毕、打,1申'曰伸喇1群讲呼噂炉皆伴/炉\\

图3-5月度提交量Commt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论