基于gitlab源码管理解决方案.docx

上传人:b****0 文档编号:17576887 上传时间:2023-07-26 格式:DOCX 页数:11 大小:216.12KB
下载 相关 举报
基于gitlab源码管理解决方案.docx_第1页
第1页 / 共11页
基于gitlab源码管理解决方案.docx_第2页
第2页 / 共11页
基于gitlab源码管理解决方案.docx_第3页
第3页 / 共11页
基于gitlab源码管理解决方案.docx_第4页
第4页 / 共11页
基于gitlab源码管理解决方案.docx_第5页
第5页 / 共11页
基于gitlab源码管理解决方案.docx_第6页
第6页 / 共11页
基于gitlab源码管理解决方案.docx_第7页
第7页 / 共11页
基于gitlab源码管理解决方案.docx_第8页
第8页 / 共11页
基于gitlab源码管理解决方案.docx_第9页
第9页 / 共11页
基于gitlab源码管理解决方案.docx_第10页
第10页 / 共11页
基于gitlab源码管理解决方案.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于gitlab源码管理解决方案.docx

《基于gitlab源码管理解决方案.docx》由会员分享,可在线阅读,更多相关《基于gitlab源码管理解决方案.docx(11页珍藏版)》请在冰点文库上搜索。

基于gitlab源码管理解决方案.docx

基于gitlab源码管理解决方案

基于git、gitlab源码管理解决方案

 

武汉交易通信息技术有限公司

2017年7月6日

 

1宗述

1.1适用范围

本文档适用于产品实施部源码管理域

1.2术语解释

Push:

推送

Pull:

拉取

Commit:

提交

Clone:

克隆

1.3gitlab简介

gitlab是开源的源码协作软件。

使用细粒度访问控制管理git仓库以达到确保你的源码安全。

可执行源码检查和提高源码合并请求。

每一个项目都有各自的问题跟踪日志。

全球超过10万个组织在使用,gitlab是管理git仓库的最流行的软件之一。

1.4目标以及解决的问题

目标:

(1)项目访问级别设置。

(2)项目管理和跟踪。

(3)用户访问权限设置。

解决的问题

(1)项目备份繁琐。

(2)版本差异对比繁琐。

(3)版本回退困难。

1.5应用背景

(1)实施项目众多。

全国各地的MIS项目、POS项目众多,需要对各个项目源码、释放包进行备份。

采用传统的FTP方式备份源码,随着时间的推移,源码数量越来越庞大,从最新版本回归到历史版本,需要进行手工操作,并使用工具对比版本之间的差异,在这个过程中花费的时间成本较高。

(2)项目代码整理复杂。

为了适应调用MIS接口的交易系统的更新迭代,需要修改MIS接口源码,并发布释放包。

使用传统的方式管理源码,并没有记录源码修改日志,无法对源码进行版本递归,难以达到排查错误,代码优化的目的。

2源码管理需求和问题分析

2.1项目源码权限控制

项目源码属于公司的财产,里面包含许多有价值的信息以及公司核心技术。

如果源码核心技术的泄露被竞争对手获得,会对公司造成损失,降低市场产品的竞争力,因此必须对源码进行有效的控制。

所以用户与当前项目是否存在关系,如果存在关系,用户在当前项目中担任怎样的一种角色?

项目应该对该用户开发哪些信息,授予哪些权限等等,是项目管理者考虑的问题

2.2项目源码版本备份与安全

采用哪种方式备份源码,如何确保源码安全,避免源码的丢失十分重要。

传统的备份方式会导致很多问题。

复制整个项目目录来保存不同的版本,或许还会改名加上备份时间以示区别。

这么做唯一的好处就是简单,不过坏处却不少:

有时候会混淆所在的工作目录,弄错了文件丢了数据就没了退路。

版本丢失后续的开发,只能从某个历史版本基础上重写开发,重复花费人力物力。

如果备份服务器磁盘损坏了,这是灾难性的,公司正在运营的项目会到恶劣的影响,不能修复现有项目的功能缺陷以后续的开发。

传统方式备份难以做到版本递归、查阅开发者提交的文件内容变更信息、提交日期;难以做到多开发者并行开发以后代码合并。

2.3项目的进度跟踪

没有使用版本控制的传统进度跟踪方式难以及时跟踪项目进度。

项目开发者的工作处于哪一个阶段?

一天的开发工作量是多少?

代码编写质量如何?

使用传统的方式只能询问开发者,阅读开发者的项目源码,十分不方便。

如何保证项目进度,控制风险,提高工作质量和效率变得十分艰难。

不能随时随地获知项目的进度、查看代码的变更、不能审核代码确保代码的质量。

3基于gitlab解决方案

3.1gitlab项目访问级别控制

访问级别的控制确保源码信息开放安全。

gitlab中项目有3种访问级别。

私有:

必须授权特定用户,该用户才能访问项目。

内部:

登录到gitlab的用户可访问该项目。

公开:

无需任何认证的人都能访问该项目。

项目所有者可为该项目添加特定成员,并授予Guest、Report、Developer、Master角色,每一个角色对项目拥有不同的权限,Guest

也可以将某个用户从项目中移除。

下表是各个角色的权限,Owner为项目用者

行为

Guest

Report

Developer

Master

Owner

创建一个新问题

创建一个机密问题

查看机密问题

留言

查看工作列表

查看工作日志

下载和浏览工作构建

查看wiki网页

拉取项目代码

下载项目

创建代码片段

问题跟踪管理

标签管理

查看提交状态

查看容器注册表

查看环境

创建一个新环境

使用环境终端

停止环境

查看合并请求列表

管理/接收合并请求

创建新的合并请求

创建分支

推送到不受保护的分支

强制推送到不受保护的分支

移除不受保护的分支

添加标签

Wiki写作

取消和审查工作

创建或更新一个提交状态

更新注册容器

移除注册容器镜像

创建一个新的里程碑

添加一个团队成员

推送到受保护分支

允许/禁止分支保护

重写/移除git标签

编辑项目

添加部署密钥到项目

配置项目钩子

管理在线用户

管理工作触发器

管理变量

管理页面

管理页面域和证书

切换有效级别

转移项目到另一个域

移除项目

强制推送到管理分支

移除受保护分支

移除页面

表3-1角色权限表

项目的访问控制为每个用户设置了不同的权限,哪些用户可以了解项目,哪些用户可以查看项目开发情况,哪些用户可以获取源码并修改等等。

有效地控制项目源码信息,避免重要的技术细节透露给不需要知道的用户。

3.2gitlab项目版本库备份

gitlab可保证版本库信息不丢失。

gitlab的版本库是分布式的,每一个经过授权的git用户都可以从gitlab中克隆项目源码,尽管本地网络出现问题,git用户都可以提交源码、查看提交日志、对比版本变更。

当网络正常,可以推送到gitlab版本库,使用远程版本库与本地版本库源码一致。

当gitlab中的项目不小心删除了,只需从本地上传项目版本库即可,在gitlab中仍可以查看往日的提交日志等各种信息。

比较于svn,当svn服务器出现问题,导致开发者无法提交源码、查看源码提交日志等等操作。

当svn版本库出现问题,尽管可以上传原有项目,但会造成版本日志丢失,无法进行版本递归。

图3-1描述了版本库工作原理。

开发者从装有gitlab的公共服务器拉取项目版本库,每个版本库都有独立的版本信息,互不影响。

当需要合并代码的时候,开发者给主开发者提发送补丁,主开发者审核代码后合并代码,然后提交到远程版本库。

公网服务器出现问题,但不影响各个开发者版本库的版本信息,仍可以进行版本控制。

图3-1版本控制工作原理

3.3gitlab项目版本库管理

在版本库中,可查看开发者提交的信息,包括:

提交人,提交日期,浏览文件内容变更。

手机也可以访问gitlab,随时查看项目情况。

也可以了解每个项目参与者的贡献统计,每天、每周、每月代码提交量。

依靠这些信息,可以掌握项目的进度,把控风险。

图3-2提交信息列表

图3-3内容变更对比

图3-4项目参与者贡献统计

图3-5月度提交量

图3-6每周提交量

图3-7每天提交量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2