关于gitlab安装、配置、汉化、升级、备份


关于gitlab安装、配置、汉化、升级、备份...

安装

两种安装方式

  • 官网下载并安装

    安装页面步骤,选择对应的操作系统,安装

  • 使用 清华大学的镜像 安装(推荐)

    国内访问官网的速度有点感人,所以推荐直接使用这个镜像安装。
    添加repo源 或者直接下载RPM包手动安装都可以。

配置

  • 修改配置文件:

    vi /etc/gitlab/gitlab.rb
    
  • 设置域名:
    external_url 'http://gitlab.yundun.com' # gitlab访问域名
    
  • 设置系统发件邮箱(以163为例)

    gitlab_rails['gitlab_email_from'] = '【发送邮件的邮箱】'
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.163.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "【提供163的smtp的用户名】"
    gitlab_rails['smtp_password'] = "【你的密码】"
    gitlab_rails['smtp_domain'] = "163.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    user['git_user_name'] = "【设置发件用户名】"
    user['git_user_email'] = "【发送邮件的邮箱】"

  • 重载配置

    gitlab-ctl reconfigure
    

汉化

汉化项目地址:https://git.coding.net/xuanskyer/gitlab.git

  • 汉化步骤

    汉化前,最好先做下数据备份

    • clone汉化项目:
      git clone https://git.coding.net/xuanskyer/gitlab.git
    • 比较汉化分支和原分支,导出 patch 用的 diff 文件(以版本8.6.6为例):
      git diff origin/8-6-stable..8-6-zh > ../8.6.diff
      
    • 上传 8.6.diff 文件到服务器,并把补丁文件打到对应位置:
      sudo gitlab-ctl stop
      sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 8.6.diff
      
    • 确定没有 .rej 文件,重启 GitLab
      sudo gitlab-ctl reconfigure && gitlab-ctl start
      

      重启后可能会出现短暂的502错误,稍等会就会正常。

升级

  • 镜像下载最新版本 (以centos6系统下,gitlab升级到8.6.7为例)
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/gitlab-ce-8.6.7-ce.0.el6.x86_64.rpm
    
  • 安装
    rpm -Uvh gitlab-ce-8.6.7-ce.0.el6.x86_64.rpm
    

    升级安装的时候,原先运行的gitlab服务 不要停止。否则可能会因为自动备份时连不上数据库导致升级失败。

备份

gitlab系统自带备份命令:

  • 备份
    gitlab-rake gitlab:backup:create
    
  • 恢复(1406691018为备份文件的时间戳)
    gitlab-rake gitlab:backup:restore BACKUP=1406691018
    

默认备份目录: /var/opt/gitlab/backups。详细命令参见官方文档

  • 备份并发送到备份机

    clone项目:

    git clone https://github.com/xuanskyer/gitlab-backup-scp.git
    

    添加sh脚本到crontab,定时备份。

其他

  • gitlab的安装包自带了nginx,所以启动时请确认当前机器是否已经运行了nginx。

    如果已经存在nginx运行,gitlab自带的nginx一般会启用不同的端口运行(默认的nginx为80,gitlab的nginx则会用81)。

  • 关于系统默认头像

    gitlab使用gravatar作为系统默认头像。国内访问速度很慢。
    可以在/etc/gitlab/gitlab.rb 中修改默认头像,并重载配置 gitlab-ctl reconfigure


世界不可能那么远