一、安装

Yum

  1. #添加gitlab-ce源
  2. curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  3. #安装
  4. yum -y install gitlab-ce
  5. #配置并启动gitlab-ce
  6. gitlab-ctl reconfigure
  7. #停止gitlab
  8. gitlab-ctl stop

Docker

  1. #设置阿里镜像仓库
  2. tee /etc/docker/daemon1.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://jzngeu7d.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. #创建gitlab配置, 数据, 日志目录
  8. mkdir -p /usr/local/gitlab/etc
  9. mkdir -p /usr/local/gitlab/logs
  10. mkdir -p /usr/local/gitlab/data
  11. #下载gitlab镜像
  12. docker pull beginor/gitlab-ce:11.0.1-ce.0
  13. #运行gitlab容器
  14. #--publish 8443:443 \ # 映射https端口, 不过本文中没有用到
  15. docker run \
  16. --detach \
  17. --publish 8090:80 \ # 映射宿主机8090端口到容器中80端口
  18. --publish 8022:22 \ # 映射22端口, 可不配
  19. --name gitlab \
  20. --restart always \
  21. --hostname 192.168.239.10 \ # 局域网宿主机的ip, 如果是公网主机可以写域名
  22. -v /usr/local/gitlab/etc:/etc/gitlab \ # 挂载gitlab的配置文件
  23. -v /usr/local/gitlab/logs:/var/log/gitlab \ # 挂载gitlab的日志文件
  24. -v /usr/local/gitlab/data:/var/opt/gitlab \ # 挂载gitlab的数据
  25. -v /etc/localtime:/etc/localtime:ro \ # 保持宿主机和容器时间同步
  26. --privileged=true beginor/gitlab-ce # 在容器中能以root身份执行操作

二、配置使用


  1. // SSH主机名(git://gitlab_ssh_host/project_path)
  2. vi /etc/gitlab/gitlab.rb
  3. gitlab_rails['gitlab_ssh_host'] = 'gitlab-js.hubs.org.cn'
  4. gitlab-ctl reconfigure
  5. // HTTP主机名
  6. vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

三、备份和恢复


前提条件:

  1. gitlab版本必须一致
  2. 内存需在4G以上
  3. 需先部署gitlab服务再进行恢复
  1. #修改配置文件
  2. #vim /usr/local/gitlab/etc/gitlab.rb
  3. vim /etc/gitlab/gitlab.rb
  4. gitlab_rails['manage_backup_path'] = true
  5. gitlab_rails['backup_path'] = "/data/gitlab/backups" #gitlab备份目录
  6. gitlab_rails['backup_archive_permissions'] = 0644 #生成的备份文件权限
  7. gitlab_rails['backup_keep_time'] = 7776000 #备份保留天数为3个月(即90天,这里是7776000秒)
  8. #创建备份目录åå
  9. mkdir -p /data/gitlab/backups
  10. chown -R git.git /data/gitlab/backups
  11. chmod -R 777 /data/gitlab/backups
  12. # 刷新配置
  13. gitlab-ctl reconfigure
  14. #备份命令
  15. gitlab-rake gitlab:backup:create
  16. #备份脚本使用,环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出
  17. /usr/bin/gitlab-rake gitlab:backup:create CRON=1
  18. #恢复命令
  19. gitlab-ctl stop # 先停止,防止备份不完整
  20. gitlab-rake gitlab:backup:restore BACKUP=1510472027_2017_11_12_9.4.5
  21. gitlab-ctl start
  22. #检查恢复情况
  23. gitlab-rake gitlab:check SANITIZE=true
  24. gitlab-ctl reconfigure