一、安装
Yum
#添加gitlab-ce源curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash#安装yum -y install gitlab-ce#配置并启动gitlab-cegitlab-ctl reconfigure#停止gitlabgitlab-ctl stop
Docker
#设置阿里镜像仓库tee /etc/docker/daemon1.json <<-'EOF'{"registry-mirrors": ["https://jzngeu7d.mirror.aliyuncs.com"]}EOF#创建gitlab配置, 数据, 日志目录mkdir -p /usr/local/gitlab/etcmkdir -p /usr/local/gitlab/logsmkdir -p /usr/local/gitlab/data#下载gitlab镜像docker pull beginor/gitlab-ce:11.0.1-ce.0#运行gitlab容器#--publish 8443:443 \ # 映射https端口, 不过本文中没有用到docker run \--detach \--publish 8090:80 \ # 映射宿主机8090端口到容器中80端口--publish 8022:22 \ # 映射22端口, 可不配--name gitlab \--restart always \--hostname 192.168.239.10 \ # 局域网宿主机的ip, 如果是公网主机可以写域名-v /usr/local/gitlab/etc:/etc/gitlab \ # 挂载gitlab的配置文件-v /usr/local/gitlab/logs:/var/log/gitlab \ # 挂载gitlab的日志文件-v /usr/local/gitlab/data:/var/opt/gitlab \ # 挂载gitlab的数据-v /etc/localtime:/etc/localtime:ro \ # 保持宿主机和容器时间同步--privileged=true beginor/gitlab-ce # 在容器中能以root身份执行操作
二、配置使用
// SSH主机名(git://gitlab_ssh_host/project_path)vi /etc/gitlab/gitlab.rbgitlab_rails['gitlab_ssh_host'] = 'gitlab-js.hubs.org.cn'gitlab-ctl reconfigure// HTTP主机名vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
三、备份和恢复
前提条件:
- gitlab版本必须一致
- 内存需在4G以上
- 需先部署gitlab服务再进行恢复
#修改配置文件#vim /usr/local/gitlab/etc/gitlab.rbvim /etc/gitlab/gitlab.rbgitlab_rails['manage_backup_path'] = truegitlab_rails['backup_path'] = "/data/gitlab/backups" #gitlab备份目录gitlab_rails['backup_archive_permissions'] = 0644 #生成的备份文件权限gitlab_rails['backup_keep_time'] = 7776000 #备份保留天数为3个月(即90天,这里是7776000秒)#创建备份目录ååmkdir -p /data/gitlab/backupschown -R git.git /data/gitlab/backupschmod -R 777 /data/gitlab/backups# 刷新配置gitlab-ctl reconfigure#备份命令gitlab-rake gitlab:backup:create#备份脚本使用,环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出/usr/bin/gitlab-rake gitlab:backup:create CRON=1#恢复命令gitlab-ctl stop # 先停止,防止备份不完整gitlab-rake gitlab:backup:restore BACKUP=1510472027_2017_11_12_9.4.5gitlab-ctl start#检查恢复情况gitlab-rake gitlab:check SANITIZE=truegitlab-ctl reconfigure
