《基于gitlab源码管理解决方案人力资源薪酬管理_人力资源-薪酬管理.pdf》由会员分享,可在线阅读,更多相关《基于gitlab源码管理解决方案人力资源薪酬管理_人力资源-薪酬管理.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 基于 git、gitlab源码管理解决方案 武汉交易通信息技术有限公司 2017年 7 月 6 日 目录 基于 git、gitlab源码管理解决方案.错误!未定义书签。1 宗述.错误!未定义书签。适用范围.错误!未定义书签。术语解释.错误!未定义书签。gitlab简介.错误!未定义书签。目标以及解决的问题.错误!未定义书签。应用背景.错误!未定义书签。2 源码管理需求和问题分析.错误!未定义书签。项目源码权限控制.错误!未定义书签。项目源码版本备份与安全.错误!未定义书签。项目的进度跟踪.错误!未定义书签。3 基于 gitlab解决方案.错误!未定义书签。gitlab项目访问级别控制.错误!
2、未定义书签。gitlab项目版本库备份.错误!未定义书签。gitlab项目版本库管理.错误!未定义书签。介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解
3、决的问题项目备份繁琐版本差异对比繁琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释 1 宗述 适用范围 本文档适用于产品实施部源码管理域 术语解释 Push:推送 Pull:拉取 Commit:提交 Clone:克隆 gitlab简介 gitlab是开源的源码协作软件。使用细粒度访问控制管理 git 仓库以达到确保你的源码安全。可执行源码检查和提高源码合并请求。每一个项目都有各自的问题跟踪日志。全球超过10 万个组织在使用,gitlab是管理 git 仓库的最流行的软件之一。目标以及解决的问题 目标:(1)项目访问级别设置。(2)项目管理和跟踪。(3)用户访问权限设
4、置。解决的问题(1)项目备份繁琐。(2)版本差异对比繁琐。(3)版本回退困难。应用背景(1)实施项目众多。全国各地的 MIS项目、POS项目众多,需要对各个项目源码、释放包进行备份。采用传统的 FTP方式备份源码,随着时间的推移,源码数量越来越庞大,从最新版本回归到历史版本,需要进行手工介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理
5、域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释操作,并使用工具对比版本之间的差异,在这个过程中花费的时间成本较高。(2)项目代码整理复杂。为了适应调用 MIS接口的交易系统的更新迭代,需要修改 MIS接口源码,并发布释放包。使用传统的方式管理源码,并没有记录源码修改日志,无法对源码进行版本递归,难以达到排查错误,代码优化的目的。2 源码管理需求和问题
6、分析 项目源码权限控制 项目源码属于公司的财产,里面包含许多有价值的信息以及公司核心技术。如果源码核心技术的泄露被竞争对手获得,会对公司造成损失,降低市场产品的竞争力,因此必须对源码进行有效的控制。所以用户与当前项目是否存在关系,如果存在关系,用户在当前项目中担任怎样的一种角色项目应该对该用户开发哪些信息,授予哪些权限等等,是项目管理者考虑的问题 项目源码版本备份与安全 采用哪种方式备份源码,如何确保源码安全,避免源码的丢失十分重要。传统的备份方式会导致很多问题。复制整个项目目录来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,不过坏处却不少:有时候会混淆所在的工作
7、目录,弄错了文件丢了数据就没了退路。版本丢失后续的开发,只能从某个历史版本基础上重写开发,重复花费人力物力。如果备份服务器磁盘损坏了,这是灾难性的,公司正在运营的项目会到恶劣的影响,不能修复现有项目的功能缺陷以后续的开发。传统方式备份难以做到版本递归、查阅开发者提交的文件内容变更信息、提交日期;难以做到多开发者并行开发以后代码合并。项目的进度跟踪 没有使用版本控制的传统进度跟踪方式难以及时跟踪项目进度。项目开发者的工作处于哪一个阶段一天的开发工作量是多少代码编写质量如何使用传统的方式只能询问开发者,阅读开发者的项目源码,十分不方便。如何保证项目进度,控制风险,提高工作质量和效率变得十分艰难。不
8、能随时随地获知项目的进度、查看代码的变更、不能审核代码确保代码的质量。介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁
9、琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释3 基于 gitlab解决方案 gitlab项目访问级别控制 访问级别的控制确保源码信息开放安全。gitlab中项目有 3 种访问级别。私有:必须授权特定用户,该用户才能访问项目。内部:登录到 gitlab的用户可访问该项目。公开:无需任何认证的人都能访问该项目。项目所有者可为该项目添加特定成员,并授予 Guest、Report、Developer、Master 角色,每一个角色对项目拥有不同的权限,Guest Report DeveloperMaster。也可以将某个用户从项目中移除。下表是各个角色的权限,Owner
10、 为项目用者 行为 Guest Report Developer Master Owner 创建一个新问题 创建一个机密问题 查看机密问题 留言 查看工作列表 查看工作日志 下载和浏览工作构建 查看 wiki 网页 拉取项目代码 下载项目 创建代码片段 问题跟踪管理 标签管理 查看提交状态 查看容器注册表 查看环境 创建一个新环境 使用环境终端 停止环境 查看合并请求列表 管理/接收合并请求 创建新的合并请求 介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签
11、错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释创建分支 推送到不受保护的分支 强制推送到不受保护的分支 移除不受保护的分支 添加标签 Wiki 写作 取消和审查工作 创建或更新一个提交状态 更新注册容器 移除注册容器镜像 创建
12、一个新的里程碑 添加一个团队成员 推送到受保护分支 允许/禁止分支保护 重写/移除 git标签 编辑项目 添加部署密钥到项目 配置项目钩子 管理在线用户 管理工作触发器 管理变量 管理页面 管理页面域和证书 切换有效级别 转移项目到另一个域 移除项目 强制推送到管理分支 介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉
13、取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释移除受保护分支 移除页面 表 3-1 角色权限表 项目的访问控制为每个用户设置了不同的权限,哪些用户可以了解项目,哪些用户可以查看项目开发情况,哪些用户可以获取源码并修改等等。有效地控制项目源码信息,避免重要的技术细节透露给不需要知道的用户。gitlab项目版本库备份 gitlab可保证版本库信息不丢失。gitlab的版
14、本库是分布式的,每一个经过授权的 git 用户都可以从 gitlab中克隆项目源码,尽管本地网络出现问题,git 用户都可以提交源码、查看提交日志、对比版本变更。当网络正常,可以推送到 gitlab版本库,使用远程版本库与本地版本库源码一致。当 gitlab中的项目不小心删除了,只需从本地上传项目版本库即可,在 gitlab中仍可以查看往日的提交日志等各种信息。比较于 svn,当 svn 服务器出现问题,导致开发者无法提交源码、查看源码提交日志等等操作。当 svn 版本库出现问题,尽管可以上传原有项目,但会造成版本日志丢失,无法进行版本递归。图 3-1 描述了版本库工作原理。开发者从装有 gi
15、tlab 的公共服务器拉取项目版本库,每个版本库都有独立的版本信息,互不影响。当需要合并代码的时候,开发者给主开发者提发送补丁,主开发者审核代码后合并代码,然后提交到远程版本库。公网服务器出现问题,但不影响各个开发者版本库的版本信息,仍可以进行版本控制。图 3-1 版本控制工作原理 gitlab项目版本库管理 在版本库中,可查看开发者提交的信息,包括:提交人,提交日期,浏览文件内容变更。手机也可以访问 gitlab,随时查看项目情况。也可以了解每个项目参与者的贡献统计,每天、每周、每月代码提交量。依靠这些信息,可以掌握项目的进度,把控风险。图 3-2 提交信息列表 图 3-3 内容变更对比 图
16、 3-4 项目参与者贡献统计 图 3-5 月度提交量 介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁琐版本回退困难应
17、用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释 图 3-6 每周提交量 图 3-7 每天提交量 介目标以及解决的问题应用背景源码管理需求和问题分析项目源码权限控制项目源码版本备份与安全项目的进度跟踪基于解决方案项目访问级别控制项目版本库备份项目版本库管理错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签错误未定义书签宗述适用范围本文档适用于产品实施部源码管理域术语解释推送拉取提交克隆简介是开源的源码协作软件使用细粒度访问控制管理仓库以达到确保你的源仓库的最流行的软件之一目标以及解决的问题目标项目访问级别设置项目管理和跟踪用户访问权限设置解决的问题项目备份繁琐版本差异对比繁琐版本回退困难应用背景实施项目众多全国各地的项目项目众多需要对各个项目源码释