前段时间在使用 Nginx 和 Git 搭建了一个简单的 Git 源代码服务器, 随着项目的增多, 管理起来有些不便, 于是打算再安装一个 GitLab CE 作为内部的源代码管理服务器。

准备操作系统

操作系统用的是最新发布的 Ubuntu 16.04 LTS, 这个也是 GitLab 的安装文档中推荐的操作系统。 新建虚拟机, 全新安装 Ubuntu 16.04 LTS , 一切都顺利。

安装 GitLab CE

GitLab 有两种安装方式, 分别是从源代码安装和用 deb 软件包安装, 如果打算进行二次开发的话, 可以考虑从源代码安装。 不过对我来说, 不打算进行二次开发, 所以直接用 deb 软件包的形式进行安装了。

依照 GitLab 的安装文档, 依次运行下面的命令即可:

  1. 安装和配置必须的依赖项

    sudo apt-get install curl openssh-server ca-certificates postfix
    

    安装完之后, 会弹出 smtp 的配置页面, 如果不需要邮件服务的话, 直接忽略即可, 如果需要邮件服务, 根据提示进行配置。

  2. 添加 GitLab 包服务器并安装 GitLab CE

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    

    上面的命令会添加 GitLab 包服务器的配置信息到 /etc/apt/sources.list.d 目录, 添加一个 gitlab_gitlab-ce.list 文件到这个目录, gitlab_gitlab-ce.list 的内容如下:

    more /etc/apt/sources.list.d/gitlab_gitlab-ce.list
    # this file was generated by packages.gitlab.com for
    # the repository at https://packages.gitlab.com/gitlab/gitlab-ce
    
    deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ xenial main
    deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ xenial main
    

    现在可以开始安装 GitLab CE 了, 命令如下:

    sudo apt-get install gitlab-ce
    

    这个命令会按照默认配置安装 GitLab CE 及其必须的依赖项。

  3. 配置并启动 GitLab CE

    sudo gitlab-ctl reconfigure
    

汉化

为了照顾大多数人, 汉化还是必须的, 已经有热心网友南靖男提供了汉化版,根据他的汉化指南,进行如下操作:

  1. 首先确认安装的版本

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    

    得到的版本号是 8.7.3

  2. 克隆 GitLab 的汉化分支

    git clone https://gitlab.com/larryli/gitlab.git
    
  3. 生成汉化的补丁文件

    前面的到的版本号是 8.7.3 , 所以我们需要的是分支 8-7-stable 的汉化, 通过 git diff 命令生成这个补丁文件:

    sudo git diff origin/8-7-stable..8-7-zh > ~/8-7.diff
    
  4. 应用汉化补丁文件

    # 先停止 GitLab
    sudo gitlab-ctl stop
    # 应用汉化补丁
    cd /opt/gitlab/embedded/service/gitlab-rails
    git apply ~/8-7.diff
    # 启动 GitLab
    sudo gitlab-ctl start
    

现在来看看成果吧, 打开浏览器, 浏览 http://127.0.0.1/ , 截图如下:

GitLab CE

当然, 这只是一个简单而愉快的开始, 真正用起来的话还要考虑日常的维护、 备份等, 这个还需要以后慢慢研究了。