gitlab 简介
1.gitlab 简介
1.1.定位
gitLab 是一个基于 Git 实现的在线代码仓库托管软件
可以用 gitlab 自己搭建一个类似于 Github 一样的系统,一般用于在企业、学校等内部网络搭建 git 私服。
对于软件工程质量管理非常重要。
1.2.功能
提供代码托管、提交审核和问题跟踪
可以很方便的管理权限、代码 review,创建、管理 project
1.3.版本
- 社区版(CE)
- 企业版(EE)
Gitlab 分为 社区版(CE) (gitlab-ce) 与 企业版(EE) (gitlab-ee),社区版免费,企业版收费
两个版本的区别参考官方文档:gitlab-ce VS gitlab-ee;
1.4.配置要求
- 官方文档:
基础:CPU-1,RAM-4G,用于调试安装,用起较慢
推荐:CPU-2,RAM-8G,可以支持100人使用
1.5.拓展:git于svn的区别
git 是分布式的,svn 是中心式的
git 分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看 log。
GIT 分支和 SVN 的分支不同:分支在 SVN 中实际上是版本库中的一份 copy,而 git 一个仓库是一个快照,所以 git 切换、合并分支等操作更快速。
2.gitlab 服务组件
- Nginx:静态 web 服务器。
- gitlab-shell:用于处理 Git 命令和修改 authorized keys 列表。(Ruby)
- gitlab-workhorse: 轻量级的反向代理服务器。(go)
它会处理一些大的 HTTP 请求,比如文件上传、文件下载、Git push/pull 和 Git 包下载。 其它请求会反向代理到 GitLab Rails 应用,即反向代理给后端的 unicorn。
- logrotate:日志文件管理工具。
- postgresql:数据库。
- redis:缓存数据库。
- sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
- unicorn:An HTTP server for Rack applications,GitLab Rails 应用是托管在这个服务器上面的。(Ruby Web Server, 主要使用 Ruby 编写)
作者:天生帅才 www.zuiyoujie.com
本文版权归作者和博客园共有,如果感觉有用可以随意打赏,感谢支持,欢迎转载