devops之gitlab,不仅仅是代码仓库
“ 不应取法,不应取非法。”
从svn迁移到git,大家有很多担心和期待。担心git会改变原有的项目管理方式,期待通过git解决项目中无法克服的管理难题。这里多少会让大家失望,git究其本质,只是代码版本管理工具而已。如何用、如何使项目更加顺畅即所谓取法取非法,还靠大家在项目实践中不断领悟。结合目前的项目管理方式介绍git的使用方法。尽量避免网络中常见的知识点罗列,通过项目场景讲述gitlab使用方法。
-
gitlab环境搭建
-
gitlab管理员配置
1. 域名配置
2. 外观配置
3. admin settings
4. 关联其他系统
5. 新建group
-
通用使用方式
1. 账号注册
2. 汉语设置
-
项目管理者
1. 为group添加用户
2. 新建项目
3. 新建分支
4. 设置分支权限
5. 合并分支
6. 代码review
7. 回退合并
8. 关联jenkins自动发布
9. 在gitlab上查看发布状态
10. 生产版本发布自动生成git标签
11. gitlab 提交信息与jira中的issue关联
-
开发人员
1. 下载项目
2. 提交合并请求
gitlab环境搭建
gitlab搭建网上已经有很多教程,这里略去不表。要感谢运维的小伙伴,帮忙搭建gitlab环境。
gitlab管理员配置
服务域名配置
/etc/gitlab/gitlab.rb中external_url
配置好后git项目的地址使用配置的域名
外观配置,使gitlab看起来像专门为本公司定制的系统
/admin/appearance
配置公司图标、登录界面。
admin settings
/admin/application_settings
-
注册及账户限制
开放注册
如果不开放注册,需要系统管理员添加账户,适合小规模团队。
注册后的账户设置成外部账户,没有任何权限。需要项目的管理者为其添加权限后才能参与项目。
-
可见性与访问控制
非管理员只能建立私有项目。防止项目管理员失误建立公开项目,造成信息泄露。 -
使用许可声明
设置使用声明及一些约束,只有用户同意才可以使用本gitlab。
-
自定义帮助页面
使用markdown格式自定义帮助页面,也可以直接引用公司内部的外部帮助页面地址
关联其他系统
/admin/application_settings/services
与其他系统打通,我们公司使用jira做项目管理,配置了与jira的双向打通。
新建group
group是一组项目,能够包含一个或多个项目。所有新建group必须使用Private,保证只有相关人才可见。
通用使用方式
账号获取
设置喜好语言,目前只能部分汉化
user settings -> profile -> Preferred language
项目管理者
为group添加用户
新建项目
新建分支
设置分支权限
master,uat,sit只有项目管理者有提交权限。(除master外需要先建立分支后才能设置)
设置方式 project->settings->repository->Protected Branches
合并分支
查看合并请求
处理合并请求
代码review
在合并请求中会列出修改的代码,可以在此进行代码review,并在线提交问题。
回退合并
关联jenkins自动发布
jenkins配置
gitlab配置
在指定分支有提交(也可以是其他事件)触发jenkins构建
在gitlab上查看发布状态
jenkins上需要配置
gitlab上的流水线状态
在提交列表中查看每次提交的发布状态
生产版本发布自动生成git标签
需要在jenkins中配置,详细配置方法在jenkins章节中说明。
gitlab 提交信息与jira中的issue关联
gitlab项目设置,如下图,jira账号可以是项目管理员账号。
git提交时在注释中必须包含issue id
如“SCRUMT1-1 12344”,“Update README.md SCRUMT1-1”
关联效果
开发人员
下载项目
在项目首页有次项目的git地址,包含两种方式:ssh、http。如果没有设置ssh账号,需选用http模式
提交分支合并请求
总结,上面列举了在devops项目进行中各个环节需要使用的gitlab功能。gitlab还有很多功能,issue、看板、里程碑、wiki,可以根据项目的需要使用。
预告,下一章会介绍jenkins在devops中的作用和使用方法,欢迎关注。
相关阅读:
浙公网安备 33010602011771号