代码工具
370
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主分支合并申请
-
项目领导审查代码并确认合并申请