1.install gitlab (docker)

  1. docker run -d \
  2. --hostname gitlab.example.com \
  3. --publish 443:443 --publish 80:80 --publish 222:22 \
  4. --privileged=true \
  5. --name gitlab \
  6. --restart always \
  7. --volume /etc/gitlab/config:/etc/gitlab \
  8. --volume /var/log/gitlab/:/var/log/gitlab \
  9. --volume /data/gitlab/data:/var/opt/gitlab \
  10. gitlab/gitlab-ce:latest
  11. # 可能遇到的问题。
  12. cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied
  13. 此时容器启动失败:cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied 。这时由于挂载的本地目录在容器中没有执行权限
  14. --privileged=true # 以特权方式启动容器

2.gitlab 配置文件

  1. vim /etc/gitlab/config/gitlab.rb
  2. external_url 'http://192.168.2.21'
  3. gitlab_rails['gitlab_shell_ssh_port'] = 2222
  4. # 重新加载配置文件
  5. gitlab-ctl reconfigure

3.gitlab 备份

参考文档)

重要提醒:必须备份/etc/gitlab/gitlab.rb以及相关文件(例如:SSL证书)。

  1. #!/bin/bash
  2. # gitlab 备份脚本
  3. BACKUP_PATH="/home/backup/"
  4. DAY=2
  5. # gitlab 备份
  6. gitlab-rake gitlab:backup:create; # 默认的备份目录为: var/opt/gitlab/backups
  7. # 此种备份方式为全量备份
  8. # 清除备份目录下2天前的备份
  9. find ${BACKUP_PATH} -name "*.tar" -ctime +$DAY -type f -exec rm -rf {} \;