This commit is contained in:
wxy 2017-05-09 09:08:33 +08:00
parent 04563103b3
commit b06020c801

View File

@ -1,73 +1,36 @@
GitLab工作流概览
GitLab 工作流概览
======
GitLab 是一个基于 git 的仓库管理程序,也是一个方便软件开发的强大完整应用。
GitLab拥有一个”用户新人友好“的界面,通过自由图形和命令行界面使你的工作更加具有效率。GitLab不仅仅对开发者是一个有用的工具它甚至可以被集成到你的整个团队中使得每一个人获得一个唯一的平台。
GitLab 拥有一个“用户新人友好”的界面,通过图形界面和命令行界面使你的工作更加具有效率。GitLab 不仅仅对开发者是一个有用的工具,它甚至可以被集成到你的整个团队中,使得每一个人获得一个独自唯一的平台。
GitLab 工作流逻辑符合使用者思维,使得整个平台变得更加易用。相信我,使用一次,你就离不开它了!
* * *
### 在这篇文章中
* [GitLab工作流][53]
* [软件开发阶段][22]
* [GitLab工单跟踪][52]
* [秘密工单][21]
* [截止日期][20]
* [委托人][19]
* [标签][18]
* [工单重要性][17]
* [GitLab工单看板][16]
* [GitLab中的代码审查][51]
* [第一次提交][15]
* [合并请求][14]
* [WIP MR][13]
* [审查][12]
* [建立,测试以及部署][50]
* [Koding][11]
* [用户案例][10]
* [反馈: 循环分析][49]
* [增强][48]
* [工单 & MR模版][9]
* [里程碑][8]
* [高级技巧][47]
* [对于工单 & MRs][7]
* [订阅][3]
* [添加 TO-DO][2]
* [搜索你的工单 & MRs][1]
* [转移工单][6]
* [代码片段][5]
* [GitLab 工作流 用户案例 梗概][46]
* [尾声][45]
* * *
### GitLab 工作流
**GitLab 工作流** 使用 GitLab 作为平台管理你的代码,它是一系列具有逻辑可能性的过程——这个逻辑过程依据软件开发的生命周期来制定。
GitLab 工作流考虑到[GitLab Flow][97],是由一系列由**基于Git**的方法和策略组成的,这些方法为版本的管理,例如**分支策略****Git最佳实践**等等提供了保障。
GitLab 工作流遵循了 [GitLab Flow][97] 策略,这是由一系列由**基于 Git** 的方法和策略组成的,这些方法为版本的管理,例如**分支策略****Git最佳实践**等等提供了保障。
通过GitLab工作流可以很方便的提升团队的工作效率以及凝聚力。这种提升在引入一个新的项目的开始一直到发布这个项目成为一个产品都有所体现。这就是我们所说的“如何通过最快的速度把一个点子在10步之内变成一个产品”。
通过 GitLab 工作流,可以很方便的[提升](https://about.gitlab.com/2016/09/13/gitlab-master-plan/)团队的工作效率以及凝聚力。这种提升,从引入一个新的项目开始,一直到发布这个项目,成为一个产品都有所体现。这就是我们所说的“如何通过最快的速度把一个点子在 10 步之内变成一个产品”。
![FROM IDEA TO PRODUCTION IN 10 STEPS](https://about.gitlab.com/images/blogimages/idea-to-production-10-steps.png)
### 软件开发阶段
#### 软件开发阶段
一般情况下,软件开发经过 10 个主要阶段GitLab 为这 10 个阶段依次提供了解决方案:
1. **IDEA:** 每一个从点子开始的项目通常来源于一次闲聊。在这个阶段GitLab集成了[Mattermost][44]。
2. **ISSUE:** 最有效的讨论一个点子的方法,就是为这个点子建立一个工单讨论。你的团队和你的合作伙伴可以帮助你去提升这个点子,通过[issue tracker][43]
3. **PLAN:** 一旦讨论得到一致的同意,就是开始编码的时候了。但是等等!首先,我们需要优先考虑组织我们的工作流。对于此,我们可以使用[Issue Board][42]。
4. **CODE:** 现在,当一切准备就绪,我们可以开始写代码了。
5. **COMMIT:** 当我们为我们的草稿欢呼的时候,我们就可以在版本控制下,提交代码到功能分支了。
6. **TEST:** 通过[GitLab CI][41],我们可以运行脚本来创建和测试我们的应用
7. **REVIEW:** 一旦脚本成功运行,我们的创建和测试成功,我们就可以进行[code review][40]以及批准。
8. **STAGING:** 现在是时候[将我们的代码部署到演示环境][39]来检查一下,是否一切就像我们预估的那样顺畅——或者我们可能仍然需要修改。
9. **PRODUCTION:** 当项目已经运行的时分通畅,就是[部署到生产环境][38]的时候了!
10. **FEEDBACK**: 现在是时候翻回去看我们能在项目中提升的部分了。我们使用[循环分析][37]来对当前项目中关键的部分进行的反馈。
1. **IDEA** 每一个从点子开始的项目通常来源于一次闲聊。在这个阶段GitLab 集成了 [Mattermost][44]。
2. **ISSUE** 最有效的讨论一个点子的方法,就是为这个点子建立一个工单讨论。你的团队和你的合作伙伴可以帮助你去提升这个点子,通过 [issue tracker][43]
3. **PLAN** 一旦讨论得到一致的同意,就是开始编码的时候了。但是等等!首先,我们需要优先考虑组织我们的工作流。对于此,我们可以使用 [Issue Board][42]。
4. **CODE** 现在,当一切准备就绪,我们可以开始写代码了。
5. **COMMIT** 当我们为我们的初步成果欢呼的时候,我们就可以在版本控制下,提交代码到功能分支了。
6. **TEST** 通过 [GitLab CI][41],我们可以运行脚本来创建和测试我们的应用
7. **REVIEW** 一旦脚本成功运行,我们测试和构建成功,我们就可以进行 [code review][40] 以及批准。
8. **STAGING** 现在是时候[将我们的代码部署到演示环境][39]来检查一下,是否一切就像我们预估的那样顺畅——或者我们可能仍然需要修改。
9. **PRODUCTION** 当项目已经运行的十分通畅,就是[部署到生产环境][38]的时候了!
10. **FEEDBACK** 现在是时候翻回去看我们能在项目中提升的部分了。我们使用[循环分析][37]来对当前项目中关键的部分进行的反馈。
简单浏览这些步骤,我们可以发现,提供强大的工具来支持这些步骤是十分重要的。在接下来的部分,我们为 GitLab 的可用工具提供一个简单的概览。
@ -77,9 +40,10 @@ GitLab有一个强大的工单追溯系统在使用过程中允许你和
![issue tracker - view list](https://about.gitlab.com/images/blogimages/gitlab-workflow-an-overview/issue-tracker-list-view.png)
工单是GitLab工作流的第一个重要重要特性。[以工单的讨论为开始][95]; 跟随点子的改变是一个最好的方式。
工单是 GitLab 工作流的第一个重要重要特性。[以工单的讨论为开始][95] 跟随点子的改变是一个最好的方式。
这十分有利于:
* 讨论点子
* 提交功能建议
* 提问题
@ -87,21 +51,21 @@ GitLab有一个强大的工单追溯系统在使用过程中允许你和
* 获取支持
* 精细化新代码的引入
对于每一个在GitLab上部署的项目都有一个工单追踪器。找到你的项目中的 **Issues** > **New issue**,来创建一个新的工单。建立一个标题来总结要被讨论的主题,并且使用[Markdown][94]来形容它。检查[pro tips][93]来加强你的工单描述。
对于每一个在 GitLab 上部署的项目都有一个工单追踪器。找到你的项目中的 **Issues** > **New issue** 来创建一个新的工单。建立一个标题来总结要被讨论的主题,并且使用 [Markdown][94] 来形容它。看看 [pro tips][93] 来加强你的工单描述。
GitLab 工单追踪器代表了一个额外的实用功能,使得步骤变的更佳易于管理和考虑。下面的部分仔细描述了它。
GitLab 工单追踪器提供了一个额外的实用功能,使得步骤变的更佳易于管理和考虑。下面的部分仔细描述了它。
![new issue - additional settings](https://about.gitlab.com/images/blogimages/gitlab-workflow-an-overview/issue-features-view.png)
### 秘密工单
#### 秘密工单
无论何时,你仅仅想要在团队中讨论这个工单,你可以使用[issue confidential][92]。即使你的项目是公开的,你的工单也会被保。当一个不是本项目成员的人,就算是[Reporter level][01]想要访问工单的地址时浏览器也会返回一个404错误。
无论何时,如果你仅仅想要在团队中讨论这个工单,你可以使用 [issue confidential][92]。即使你的项目是公开的,你的工单也会被保密起来。当一个不是本项目成员的人,就算是 [Reporter level][01],想要访问工单的地址时,浏览器也会返回一个 404 错误。
### 截止日期
#### 截止日期
每一个工单允许你填写一个[截止日期][90]。有些团队以紧凑的时间表工作,并且拥有一种方式去设置一个截止日期来解决问题,是有必要的。这些都可以通过截止日期这一功能实现。
每一个工单允许你填写一个[截止日期][90]。有些团队以紧凑的时间表工作,以某种方式去设置一个截止日期来解决问题,是有必要的。这些都可以通过截止日期这一功能实现。
当你有一个多任务的项目截止日期的时候——比如说,一个新的发布项目的启动,或者追踪团体任务——你可以使用[milestones][89]。
当你有一个多任务的项目截止日期的时候——比如说,一个新的发布项目的启动,或者追踪团体任务——你可以使用 [milestones][89]。
### 受托者