GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语言重写,现今并在国内外大中型互联网公司广泛使用。
目录
Gitlab安装
配置yum源
1
2
3
4
5
6
7
8
9
$ vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
$ yum clean all
$ yum makecache
安装
点击查看Gitlab-ce的版本
1
2
$ yum install gitlab-ce #自动安装最新版
$ yum install gitlab-ce-x.x.x #安装指定版本
配置
gitlab配置文件
1
2
3
4
5
$ vim /etc/gitlab/gitlab.rb
......
nginx[ 'listen_port' ] = 80 #如果服务器有安装nginx请更改gitlab自带nginx的端口
external_url 'http://gitlab.chepingan.com' #设置访问域名或IP
......
gitlab-nginx配置文件
1
2
3
4
5
6
7
8
9
10
11
$ vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
......
server {
listen *:80; #端口和域名与gitlab.rb配置文件一致
server_name lcp.git.lastbs.cn;
......
}
......
服务命令
1
2
3
4
5
6
7
8
9
10
$ gitlab-ctl start #启动所有gitlab组件
$ gitlab-ctl stop #停止所有gitlab组件
$ gitlab-ctl restart #重启所有gitlab组件
$ gitlab-ctl status #查看服务状态
$ gitlab-ctl reconfigure #启动服务,每次修改gitlab.rb文件后执行
$ gitlab-rake gitlab:check SANITIZE = true --trace #检查gitlab
$ gitlab-ctl tail #查看所有日志
$ gitlab-ctl tail nginx/gitlab_access.log #查看nginx日志
$ gitlab-ctl tail postgresql #查看数据库日志
$ gitlab-rake gitlab:check SANITIZE = true #检查gitlab
Gitlab备份
修改配置文件
1
2
3
4
5
6
7
$ vim /etc/gitlab/gitlab.rb
......
gitlab_rails[ 'manage_backup_path' ] = true
gitlab_rails[ 'backup_path' ] = "/var/opt/gitlab/backups" #gitlab备份目录
gitlab_rails[ 'backup_archive_permissions' ] = 0644 #生成的备份文件权限
gitlab_rails[ 'backup_keep_time' ] = 604800 #备份保留7天
......
执行备份
备份文件名称格式:时间戳_年_月_日_gitlab版本号_gitlab_backup.tar
1
2
$ gitlab-ctl reconfigure
$ gitlab-rake gitlab:backup:create CRON = 1 # 环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出
定时备份
1
$ echo '0 5 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1' >> /var/spool/cron/root
Gitlab恢复
在恢复或迁移gitlab时,注意备份的版本和安装的gitlab版本是否一致。
1
2
3
4
$ gitlab-ctl stop unicorn #停止相关数据连接服务
$ gitlab-ctl stop sidekiq
$ gitlab-rake gitlab:backup:restore BACKUP = xxxxxxxxxx_xxxx_xx_xx_x.x.x #指定备份文件恢复
$ gitlab-ctl start #启动所有gitlab组件
Gitlab升级
gitlab的升级不能随意升级,需要根据官方文档的升级路线进行升级。
点击查看官方文档的升级路线
1
2
$ yum install gitlab-ce-x.x.x #安装升级路线依次升级
$ cat /opt/gitlab/embedded/service/gitlab-rails/VERSION #查看gitlab版本