基于gitlab规范团队协作

555

导语

question

项目做大,团队成员增长,为了更好地管理代码和安排新功能上线,我们需要进一步在branch、commit message、changelog、issue等方面规范我们的开发协作。

member

开发经理、开发工程师、测试工程师

attention

在协作开发过程中,遵循规范总是可以减少很多沟通上成本。

规范

branch

开发经理在远程仓库创建master分支,develop分支和hotfix分支。

开发人员可以在本地自由创建多个分支,但是只能向develop分支和hotfix分支推送代码。

merge到master分支操作只能由开发经理完成。

commit

借鉴angular规范

实现插件:cz-cli

安装commitizen

npm install -g commitizen

安装commitizen适配器

npm install -g cz-conventional-changelog

配置环境变量

echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

使用方式:git cz替代git commit

image.png

changelog

实现插件:conventional-changelog-cli

安装插件

npm install -g conventional-changelog-cli

跳转到项目文件夹

cd my-project

向CHANGELOG.md中追加内容

conventional-changelog -p angular -i CHANGELOG.md -s

第一次使用

conventional-changelog -p angular -i CHANGELOG.md -s -r 0

issue

测试人员借助.gitlab/issue_templates来实现模版化提交issue

项目设置以下标签:

  • bug
  • feature
  • enhancement
  • duplicate
  • wontfix
  • doing
  • to do

测试人员或开发经理将issue打标签后,assign到各个开发者手上。

开发者调整代码后,git commitgit cz时需要关联issue。

关联本项目的issue

git commit -m "修复了登录失败的问题 #9"

关联其他项目的issue

git commit -m "修复了登录失败的问题 #https://gitlab.jhit.com.cn/kjj/zjrd-dms/issues/9"

merge requests

通过gitlab的merge requests,进行code review