安装Gitlab
新建 /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key //再执行 yum makecache yum install gitlab-ce 注意:这里是使用清华大学的yum源,最新yum源可在www.gitlab.cc查看说明文档
启动GitLab
gitlab-ctl reconfigure
使用浏览器访问GitLab
首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面. 默认的管理员账号是root,如果你想更改默认管理员账号, 请输入上面设置的新密码登录系统后修改帐号名.
查看GitLab服务状态,列出了所有组件的运行状态
# gitlab-ctl status run: gitlab-workhorse: (pid 868) 1345s; run: log: (pid 861) 1345s run: logrotate: (pid 867) 1345s; run: log: (pid 860) 1345s run: nginx: (pid 866) 1345s; run: log: (pid 859) 1345s run: postgresql: (pid 858) 1345s; run: log: (pid 857) 1345s run: redis: (pid 864) 1345s; run: log: (pid 863) 1345s run: sidekiq: (pid 856) 1345s; run: log: (pid 855) 1345s run: unicorn: (pid 865) 1345s; run: log: (pid 862) 1345s
重启GitLab
重启所有组件 # gitlab-ctl restart ok: run: gitlab-workhorse: (pid 3996) 1s ok: run: logrotate: (pid 4002) 0s ok: run: nginx: (pid 4009) 0s ok: run: postgresql: (pid 4016) 1s ok: run: redis: (pid 4025) 0s ok: run: sidekiq: (pid 4030) 0s ok: run: unicorn: (pid 4035) 0s 重启某一个组件,如nginx # gitlab-ctl restart nginx ok: run: nginx: (pid 4181) 0s 有时候,组件超时启动期间,有时他们会被卡住。 在这种情况下,我们可以使用 # gitlab-ctl kill <service> 然后重新启动服务 作为最后的手段,你可以尝试重新配置GitLab代替: # gitlab-ctl reconfigure
配置域名,修改nginx配置文件
cd /var/opt/gitlab/nginx/conf vim gitlab-http.conf ... server_name gitlab.heboan.com; #修改42行 ... 重启nginx gitlab-ctl restart nginx 修改hosts或DNS解析 访问gitlab.heboan.com
打开`/etc/gitlab/gitlab.rb`,将`external_url = 'http://git.example.com'`修改为自己的IP地址:`http://xxx.xx.xxx.xx`,,
然后执行下面的命令,对GitLab进行编译
gitlab-ctl reconfigure
Gitlab备份
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期
Gitlab 修改备份文件默认目录
你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录: gitlab_rails['backup_path'] = '/mnt/backups' /mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可
Gitlab 自动备份
加入以下, 实现每天凌晨2点进行一次自动备份: 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
Gitlab 恢复
# 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq # 从1393513186编号备份中恢复 gitlab-rake gitlab:backup:restore BACKUP=1393513186 # 启动Gitlab sudo gitlab-ctl start
Gitlab迁移
迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份