GitLab简介及docker安装

0    133    3

👉 本文共约2893个字,系统预计阅读时间或需11分钟。

Gitlab简介

官网:https://gitlab.cn/

文档:https://docs.gitlab.cn/

https://docs.gitlab.cn/jh/index.html

简介

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应用是托管在这个服务器上面的。

6、gitlab的工作流程

  1. 创建并克隆项目

  2. 创建项目某Feature分支

  3. 编写代码并提交至该分支

  4. 推送该项目分支至远程Gitlab服务器

  5. 进行代码检查并提交Master主分支合并申请

  6. 项目领导审查代码并确认合并申请

gitlab相关命令

gitlab常用组件

nginx:静态Web服务器

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

gitlab-shell:用于处理Git命令和修改authorized keys列表,gitlab是以Git为底层的,操作实际上最后就是调用gitlab-shell命令进行处理。

gitlab-workhorse:轻量级的反向代理服务器

logrotate:日志文件管理工具

postgresql:数据库

redis:缓存数据库

sidekiq:用于在后台执行队列任务(异步执行)

unicorn:GitLab Rails应用是托管在这个服务器上面的

查看服务状态:gitlab-ctl status,可以看到gitlab的依赖组件

gitlab安装目录

以下是gitlab常用的默认安装目录

gitlab组件日志路径:/var/log/gitlab

gitlab配置路径:/etc/gitlab/ 路径下有gitlab.rb配置文件

应用代码和组件依赖程序:/opt/gitlab

各个组件存储路径: /var/opt/gitlab/

仓库默认存储路径 /var/opt/gitlab/git-data/repositories

版本文件备份路径:/var/opt/gitlab/backups/

nginx安装路径:/var/opt/gitlab/nginx/

redis安装路径:/var/opt/gitlab/redis

主要配置文件目录

主配置文件: /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

gitlab的数据库信息

postgresql 用户:gitlab-psql

双主同步

https://www.jianshu.com/p/d94d9f1cf744

postgresql同步虽然可以按博主的方法实现,但是从gitlab是无法登录的,会报错: 500 Whoops, something went wrong on our end, 经过检查,是因为从库同步时,表为只读,而登录时是需要update 用户登录表的,因此就直接报错无法登录,解决办法是把postgresql 同步关掉,不要用同步功能,这个postgresql根本不需要实时同步,只需要每天凌晨执行 ./pg_basebackup -h 192.168.1.9 -p 5432 -U gitlab_replicator -F p -P -D /var/opt/gitlab/postgresql/data/ 过来后,重启postgresql即可,这里面数据不大,没必要做成主从同步,这样gitlab就可以登录了。总之,博主的文档很细,只是把postgresql同步改进一下就可以了。谢谢。

另外,可以OGG或burcardo,参考:https://www.xmmup.com/shiyongogg-for-pgweifuwukuaisushuangxiangtongburdsshujukushuangzhu.html

https://www.xmmup.com/shiyongbucardodajianpgdeshuangzhu.html

另外,多个gitlab可以使用同一个PostgreSQL数据库。

使用外部 PostgreSQL 服务配置 GitLab

https://docs.gitlab.cn/omnibus/settings/database.html

https://docs.gitlab.cn/jh/administration/postgresql/external.html#%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8-postgresql-%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE-gitlab

  1. /etc/gitlab/gitlab.rb 文件中,为您的外部 PostgreSQL 服务配置与 GitLab 应用服务器连接的适当细节:

  2. 重新配置以使更改生效:

docker安装使用

官网:https://docs.gitlab.cn/jh/install/docker.html

登陆:http://192.168.1.35:380/users/sign_in

使用root和初始密码登陆就行。

GitLab简介及docker安装

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    3 × 1 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部