一.GitLab介绍
1.什么是GitLab
- GitLab是一个开源分布式版本控制系统
- 开发语言:Ruby
- 功能:管理项目源代码、版本控制、代码复用与查找
2.Gitlab与Github的不同
- Github分布式在线代码托管仓库,个人版本可直接在线免费试用,企业版本收费且需要服务器安装
- Gitlab分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装
3.Gitlab的优势与应用场景
- 开源免费,适合中小型公司将代码放置在该系统中
- 差异化的版本管理,离线同步以及强大分支管理功能
- 便捷的GUI操作页面以及强大账户权限管理功能
- 集成度很高,能够集成绝大多数的开发工具
- 支持内置HA,保证在高并发下仍旧实现高可用性
4.Gitlab主要服务构成
- Nginx静态Web服务器作为Gitlab proxy代理,处理https访问请求
- Gitlab-workhorse轻量级的反向代理服务器处理较大文件上传和下载,以及git push等命令操作
- Gitlab-shell用于处理Git命令和修改authorized keys列表(存放ssh key公钥文件列表)
- Logrotate日志文件管理工具处理日志的切割打包等操作
- Postgresql数据库作为Gitlab推荐数据库保存所有Gitlab的信息
- Redis缓存服务器,缓存数据库信息,加速前台访问速度以及数据的交互读写
二.GitLab工作流程
1.Gitlab工作流程
- 创建并克隆项目
- 创建项目某feature分支
- 编写代码并提交至该分支
- 推送该项目分支至远程Gitlab服务器
- 进行代码检查并提交Master主分支合并申请
- 项目领导审查代码并确认合并申请
三.GitLab的应用
1.使用GitLab正常服务
- 直接注册即可,创建项目可以设置对应的members等等
2.搭建GitLab服务器
- 搭建流程省略…
- 若搭建了GitLab服务器,则可以看到对应服务器的信息以及创建新的User设置对应权限(给创建的User设置对应的项目members)等等