一、gitlab介绍
1、gitlab简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
2、gitlab与github的区别
1)github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装。
2)gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装。
3、git和svn区别
1)git 是分布式的,svn 是中心式的。
2)git 分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看 log。
3)GIT 分支和 SVN 的分支不同:分支在 SVN 中实际上是版本库中的一份 copy,而 git 一个仓库是一个快照,所以 git 切换、合并分支等操作更快速。
4、gitlab的优势
1. 开源免费,社区免费版本适合中小型公司;
2. 差异化的版本管理,离线同步以及强大分支管理功能;
3. 便捷的GUI操作界面以及强大账户权限管理功能;
4. 集成度很高,能够集成绝大多数的开发工具;
5. 支持内置HA,保证在高并发下仍旧实现高可用性。
5、gitlab主要服务构成
GitLab由主要由以下服务构成,他们共同承担了Gitlab的运作需要
nginx: 静态web服务器
gitlab-shell: 用于处理Git命令和修改authorized keys列表
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:HTTP服务,GitLab Rails应用是托管在这个服务器上面的。
主要配置文件目录
主配置文件: /etc/gitlab/gitlab.rb
文档根目录: /opt/gitlab
默认存储库位置: /var/opt/gitlab/git-data/repositories
Nginx配置文件: /var/opt/gitlab/nginx/conf/gitlab-http.conf
Postgresql数据目录: /var/opt/gitlab/postgresql/data
6、gitlab的工作流程:
1. 创建并克隆项目
2. 创建项目某Feature分支
3. 编写代码并提交至该分支
4. 推送该项目分支至远程Gitlab服务器
5. 进行代码检查并提交Master主分支合并申请
6. 项目领导审查代码并确认合并申请
GitLab是一个开源的仓库管理系统,提供与GitHub类似的在线代码管理功能,但需服务器安装。GitLab具备分布式特性,强大的分支管理和权限管理,支持离线提交,集成多种开发工具,具有内置高可用性。其主要服务包括nginx、gitlab-shell、gitlab-workhorse等。工作流程包括创建项目、分支、代码编写、推送、代码审查和合并。
1262

被折叠的 条评论
为什么被折叠?



