gitlab清华镜像下载地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
经测试gitlab-ce-9.4.2-ce.0.el7.x86_64.rpm这个版本完全可用,包括用户组和用户管理,客户端拉取,提交,切分支,jenkins拉取,备份,都测试过。
1)卸载:
如果之前有安装gitlab需要先卸载干净,步骤如下:
- gitlab-ctl stop
- rpm -e gitlab-ce
- ps aux | grep git 从上到下依次kill -9各个进程,一定得按顺序,因为进程之间有父子关系,一般kill掉第一个后面进程自动就kill掉了
- find / -name gitlab | xargs rm -rf 删除所有包含gitlab的文件及目录
2)安装
rpm -ivh gitlab-ce-9.4.2-ce.0.el7.x86_64.rpm
有可能会提示缺某些依赖包,用yum install就可以了
3)配置
vi /etc/gitlab/gitlab.rb
#external_url是指仓库的克隆地址,如 http://gitlab.fun.com/hermes/IPDB.git
#如果端口不是80,且不用反向代理的话,则监听端口可以直接配在external_url里;
external_url 'http://gitlab.fun.com'
#如果需要在gitlab服务的前面再加反向代理,则监听端口就不配在external_url里而是应配置在nginx配置项里:
nginx['listen_port'] = 8060
#默认监听所有IPv4和IPv6的地址,不用配
# nginx['listen_addresses'] = ['*', '[::]']
#配置仓库的存储路径
git_data_dirs({ "default" => { "path" => "/data/gitlab", 'gitaly_address' => 'unix:/var/opt/gitlab/gitaly/gitaly.socket' } })
#存放备份文件的目录
gitlab_rails['backup_path'] = "/data/gitlab/backups"
#备份过期时间,秒,默认7天
gitlab_rails['backup_keep_time'] = 604800
4)生效配置
一般情况是改完配置再重启服务就OK,但gitlab则不同,每次改完配置需要执行下面的命令编译成功之后再重启服务
gitlab-ctl reconfigure
如果是卸载重装的gitlab,则reconfigure可能会在ruby_block[supervise_redis_sleep] action run 卡死不动,这时需要ctrl+c退出来,然后执行:
systemctl restart gitlab-runsvdir
再重新gitlab-ctl reconfigure
5)启动
gitlab-ctl start
查看日志:
gitlab-ctl tail
如果没有报错,再在浏览器里请求服务地址,能看到页面就OK了,会要求设置root的密码。
6)备份
通过配置crontab来定时备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
参考文章: