Ubuntu16.04部署Gitlab小记

为了加速墙外repo我是煞费苦心呐!

Posted by cj on January 20, 2019

Ubuntu16.04 部署 Gitlab 小记

执行 git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc 时看着那10几K/s 的破网速,忍不住哭出声。。。

有阿里云主机一台,且域名已备案,搭个 Gitlab 吧,以后再下载墙外 repo 也不用那么费劲了!

1. 安装

# 依赖包
sudo apt-get install curl openssh-server ca-certificates postfix
# 信任 GitLab 的 GPG 公钥
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

# 使用清华镜像加速
# run as root: su root, then:
echo "deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main" >> /etc/apt/sources.list.d/gitlab-ce.list

# run as normal user
sudo apt-get update
sudo apt-get install gitlab-ce

2. 配置

编辑 /etc/gitlab/gitlab.rb:

  1. 外部链接

    external_url 'http://git.aliyun-host.com'

  2. 修改时区

    gitlab_rails['time_zone'] = 'Asia/Shanghai'

  3. 禁用 bundled-web-server

    • nginx['enable'] = false
    • unicorn['enable'] = false
    • web_server['external_users'] = ['www-data']
  4. 使修改生效

    sudo gitlab-ctl reconfigure

3. 配置子域名

阿里云已备案域名一枚如 aliyun-host.com,添加A记录 git.aliyun-host.com

新建 nginx 站点:

sudo vi /etc/nginx/sites-available/gitlab-omnibus-nginx.conf

在官网拷贝推荐配置粘贴进去,下面列出修改的部分:

- listen 0.0.0.0:80 default_server;

- listen [::]:80 default_server;

- server_name YOUR_SERVER_FQDN; ## Replace this with something like gitlab.example.com

+ listen 0.0.0.0:80;

+ listen [::]:80;

+ server_name git.aliyun-host.com; ## Replace this with something like gitlab.example.com

创建软链接

cd ../sites-enabled
sudo ln -s ../sites-available/gitlab-omnibus-nginx.conf .

重启 nginx: sudo systemctl restart nginx.service

4. 配置 Gitlab

访问 http://git.aliyun-host.com,输入密码、注册用户、添加 SSH 秘钥、创建 google 组、创建 grpc 项目。。。网上教程不要太多,不提。

5. 浪吧

本地有费尽千辛万苦同步好的 gprc 源码,添加阿里云仓库并上传之:

git remote add ali git@git.aliyun-host.com:google/breakpad.git
git push -u ali --all

浪吧!

6. Reference