1、什么是Gitlab?
Gitlab是一个开源分布式版本控制系统
开发语言:Ruby
功能:管理项目源代码、版本控制、代码复用与查找
2、Gitlab与Github的不同
Github分布式在线代码托管仓库,个人版可直接在线免费使用,企业版收费且需要服务器安装。
Gitlab分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装。优势在于中小公司去保存管理自己的私有代码,无需Github把代码暴露在公网上面。
3、Gitlab的优势和应用场景
开源免费,适合中小型公司将代码放置在该系统中
差异化版本管理,离线同步以及强大分支管理功能
便捷的GUI操作界面以及强大账户权限管理功能
集成度很高,能够集成绝大多数的开发工具
支持内置HA,保证高并发下仍旧实现高可用性
4、Gitlab主要服务构成
Nginx静态web服务器
Gitlab-Workhorse轻量级的反向代理服务器,处理较大文件上传下载,以及经常使用的push命令行操作
Gitlab-shell用于处理Git命令和修改authorized keys列表
Logrotate日志文件管理工具
Postgresql数据库,保存gitlab所有数据信息
Redis缓存服务器,加快我们的访问数据,以及数据交互读写。
5、Gitlab的工作流程
创建并克隆项目
创建项目某个Feature分支
编写代码并提交至该分支
推送该项目分支至远程Gitlab服务器
进行代码检查并提交Master主分支合并申请
项目领导审查代码并确认合并申请