运用gitlab进行项目管理

此文章更多是介绍实操。

一、最基础的代码管理

1、分支(控制好开发和生产)

通常情况下是两个分支:dev和master

  • dev:顾名思义开发分支,处于开发人员共同提交的分支
  • master:用来发布到生产环境而使用的,需要从dev中合并代码后,打包部署到生产环境(这个合并代码权限领导控制好)

2、集成(可以及时通知)

建议使用钉钉进行Web 钩子设置:用于有任务与bug变动通知

图一

我用的比较多的就是Issues Events,配合接下来说到的项目管理使用。

我使用过钉钉和企业微信,结论是:建议用钉钉配合使用,不需要其他多的操作即可。企业微信的话,还需要自己写php脚本进行转换才能接收到通知,图中就是自己写的脚本。

二、项目管理

1、版本管理(敏捷开发)

图二

迭代的过程,就是一个不同版本之间的管理过程,首先先创建好相应的版本【里程碑】(通常我会加一个常驻的版本:【longtime】)

2、任务管理(给自己,给团队一个好的任务看板)

图三

在议题(Issues)下可以新建对应的工作内容,并且指向到对应的开发者里程碑(该任务对应的版本)、标签(非常重要)

  • 常用标签(以下是我常用于管理使用的标签)

    图四

  • 实景操作介绍:

  1. 项目经理添加任务
  2. 开发人员开发完成代码,提交代码(此处提交代码时,备注需要关联上相应的【议题】,以上图三的第一个任务为例,操作方式是在代码提交时的备注:#126 提交的备注内容(重要)
  3. 开发人员在gitlab上把相应的议题添加标签【done】(如果做了web钩子,钉钉或者企业微信会收到相应通知)
  4. 这时项目经理或技术经理可以对相关的功能进行初步验收,完成的话,则可以把【议题】关闭了

3、BUG管理

类似任务管理一样,测试人员对功能进行测试有bug的,则直接在【议题】下提出描述和内容,标签最好加上【bug】。添加后,大家都可以收到相关的通知(通常我们是在钉钉拉一个这种gitlab的通知群)如果项目经理对该问题有疑问和评估后需要延后的,我们可以把版本设置为【longtime】,标签打上【delay】

4、发布管理(自动化发布)

  • 可以借助jenkins进行发布管理,此处见仁见智了。需要运维人员的参与把打包部署任务自动脚本化,由测试人员进行打包操作

  • 测试完成后,可以打包内测版本(生产环境,比较正规的话这里应该是预生产环境:和生产环境一模一样的部署结构,数据从生产环境拉取);如果内测版本都没问题,那么可以进行合并代码到master,然后就可以发布生产版应用

三、其他

1、类似平台

gitbug和gitee也是类似的管理方式。只是对应平台不同而已。

  • gitlab自己部署,只需要服务器就行,不需要考虑其他费用问题。
  • gitee的企业账号则有免费的5G使用,超出的就需要购买了。
  • github则网络状况并不是非常好,会出现经常卡网速的问题。

2、个人介绍

本人工作10+年,开发6年,管理5年:后端(C#,JAVA,Python),数据库(MSSQL,Oracle,MySQL),前端(H5,微信小程序),iOS,Android等都做过。

借助于我的设计模式思维:

  1. 可以很好的跨越不同的语言进行工作和代码检查。
  2. 更有优势的是,问题的解决方案都是能权衡出最优解。
  3. 和各端开发人员沟通技术都通畅无阻

管理是因为我个人的沟通能力主观能动性都比较有优势,所以进行了转型。技术经理,技术总监是我的职位期望。学习能力强也是让我一直处于不断学习进步的一个特点。

欢迎和志同道合的人交流。

你可能感兴趣的:(运用gitlab进行项目管理)