# gitlab初始化准备工作 版本:v1.0 时间:2019-01-30 [TOC] ## 创建群组 一般产品开发时,创建一个产品Group,再分别创建至少4个工程,前端工程,后端工程,文档工程,数据库脚本工程 可以在Group创建issue&merge模板和标签,可以在子工程中继承 ## 创建工程 创建项目有3种访问权限 - private 完全私有的,如果要添加用户必须手工添加 **//一般产品研发项目用这种** - internal 内部使用,这里指的是登录gitlab的用户,就是登录认证通过的 - public 完全公开 随意访问 **//公司级别内部共享的框架项目用这种** 当项目为private的时候,添加用户有几种角色 - Master - Developer - Reportor - Guest //没有什么权限,代码都看不见,只能看看wiki和一些琐碎的东西 具体权限可以看这里: 按照权限要求,添加用户 ## 创建issue&merge模板 创建步骤: - 在根目录下创建 [.gitlab](http://fitnesstest.diankexuexi.com:10080/CT/training/tree/master/.gitlab) 目录 - 在[.gitlab](http://fitnesstest.diankexuexi.com:10080/CT/training/tree/master/.gitlab) 目录创建issue_templates目录和merge_request_templates目录 - issue_templates目录分别放入:feature issue templates,bug issue templates,document issue templates,test issue templates,management issue templates - merge_request_templates目录分别放入:feature merge request templates,bug merge request templates,product merge request templates 在创建Issue时根据任务类型,选择不同的模板 ![2](https://i.loli.net/2019/02/13/5c62ee49a6e9e.jpg) ## Issue初始化label issue里面还有一个label需要配置,从任务类型,完成状态,紧急程度,几个维度描述,对于一个issue并不是所有维度标签都是必需的:**类型(必需),紧急程度(可选),完成状态(必需)** **类型** - feature 新功能开发任务 //#00A8DF - bug 修复bug任务 //#FF3737 - document 文档任务 //#D1D100 - testing 测试任务 //#5CB85C - management 管理任务 其他类型都算到这里 //#44AD8E - MR feature 新功能分支合并 //#5843AD - MR bug 修复bug任务 //#D10069 - MR product 文档任务 //#AD8D43 **紧急程度** - normal 一般不紧急 可稍缓 //#00A8DF - concerned 需要关注 尽快解决的 //#FF6D0D - critical 非常严重 立即处理 // #FF3737 **完成状态** - todo 准备做的 尚未开始 //#7F8C8D - processing 正在处理 //#00A8DF - pending 挂起 暂时挂起稍后处理 //#34495E - acceptance 已完成 待验收 //#44AD8E ![1](https://i.loli.net/2019/02/13/5c62ee09a9b5f.jpg) ## 创建Milestones issue里面创建Milestones,将所有Issue按照Milestones进行分组管理 ## 创建Product分支 默认工程创建完成,就会有Master分支,但是按照分支开发的原则,还需要有其他分支 - master 长期分支 开发在此进行,包括持续集成 - product 长期分支 只保存里程碑版本 不对其进行开发操作 - feature & fixbug 短期分支 feature是新需求 开发人员根据feature issue开分支,fixbug是bug 开发人员根据bug issue开分支 完成后删除 创建product分支 - 直接在gitlab上进入repository >> 分支 下面直接创建product分支 - 设置分支保护,确保product分支的修改权限受控 ​