1. 概述
什么是gitlab?
- git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面
- gitlab 是一个用于仓库管理系统的开源项目,使用 git 作为代码管理工具,并在此基础上搭建起来的web服务
gitlab常用组件:
- nginx:静态Web服务器
- gitlab-shell:用于处理Git命令和修改authorized keys列表,gitlab是以Git为底层的,操作实际上最后就是调用gitlab-shell命令进行处理。
- gitlab-workhorse:轻量级的反向代理服务器
- logrotate:日志文件管理工具
- postgresql:数据库
- redis:缓存数据库
- sidekiq:用于在后台执行队列任务(异步执行)
- unicorn:GitLab Rails应用是托管在这个服务器上面的
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
gitlab的常用命令:
- gitlab-ctl start 启动全部服务
- gitlab-ctl restart 重启全部服务
- gitlab-ctl stop 停止全部服务
- gitlab-ctl restart nginx 重启单个服务,如重启nginx
- gitlab-ctl status 查看服务状态
- gitlab-ctl reconfigure 使配置文件生效
- gitlab-ctl show-config 验证配置文件
- gitlab-ctl uninstall 删除gitlab(保留数据)
- gitlab-ctl cleanse 删除所有数据,从新开始
- gitlab-ctl tail <service name> 查看服务的日志
- gitlab-ctl tail nginx 如查看gitlab下nginx日志
- gitlab-rails console 进入控制台
2. 安装gitlab
配置yum源
[root@node1 ~]# curl -o /etc/yum.repos.d/CentOS7-Base-163.repo e-163.repo
[root@node1 ~]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-