在Ubuntu 16.04下快速搭建Gitlab并汉化。
这是voidAlex原创的第八篇博文。
配置ip
使用ifconfig
查看网卡名称,然后修改配置文件
修改/etc/network/interfaces
1
| sudo vi /etc/network/interfaces
|
将内容修改为:
1 2 3 4 5
| auto ens33 iface ens33 inet static address 202.201.53.159 gateway 202.201.53.128 netmask 255.255.255.0
|
重启网络,使之生效:
1
| sudo /etc/init.d/networking restart
|
配置DNS:
1
| sudo vi /etc/resolvconf/resolv.conf.d/base
|
添加:
1 2
| nameserver 223.5.5.5 nameserver 223.6.6.6
|
保存后执行:
重启网络
1
| sudo ifdown ens33 && sudo ifup ens33
|
更新apt,安装ssh和git
1 2 3
| sudo apt-get update sudo apt install ssh sudo apt install git
|
测试ssh安装是否成功:
安装Gitlab并配置依赖关系
安装邮件服务器:
1
| sudo apt-get install curl openssh-server ca-certificates postfix
|
配置安装源:
1
| curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
|
安装Gitlab并初始化
1 2
| sudo apt install gitlab-ce sudo gitlab-ctl reconfigure
|
修改host
修改/etc/gitlab/gitlab.rb
中的external_url
:
1
| external_url 'http://nwnu.git.com'
|
在/etc/hosts
中添加hosts映射:
让Gitlab配置生效:
1
| sudo gitlab-ctl reconfigure
|
汉化Gitlab
确定Gitlab的版本
1
| sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
|
clone汉化版本库
1
| git clone https://gitlab.com/xhang/gitlab.git
|
导出diff文件并补丁
1 2 3
| sudo git diff v10.1.0 v10.1.0-zh > ../10.1.0-zh.diff sudo gitlab-ctl stop sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.1.0-zh.diff
|
重启Gitlab
1 2
| sudo gitlab-ctl start sudo gitlab-ctl reconfigure
|
备份
Gitlab默认的备份目录在/var/opt/gitlab/backups
。
手动备份
1
| sudo gitlab-rake gitlab:backup:create
|
自动备份
1 2
| 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
|
恢复
恢复之前,确保备份文件所安装 GitLab 和当前要恢复的 GitLab 版本一致。首先,恢复配置文件:
1 2 3
| sudo mv /etc/gitlab /etc/gitlab.$(date +%s) sudo tar -xf etc-gitlab-1399948539.tar -C /
|
恢复数据文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| sudo cp 1393513186_gitlab_backup.tar /var/opt/gitlab/backups/ sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186 sudo gitlab-ctl start sudo gitlab-rake gitlab:check SANITIZE=true
|