GitLab的安装
yum install curl policycoreutils openssh-server openssh-clients
systemctl enable sshd
systemctl start sshd
yum install postfix
systemctl enable postfix
systemctl start postfix
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
这是官方的yum源,安装速度会比较慢,可以使用国内源,修改如下文件即可:
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
修改内容如下:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
然后执行:
yum makecache
yum install gitlab-ee
yum install gitlab-ee-10.6.3 #制定安装版本
yum remove -y gitlab-ee #移除gitlab-ce
#配置并启动 GitLab
gitlab-ctl reconfigure
安装成功会有如下提示:
系统会重定向页面到重定向到重置密码页面,你需要输入初始化管理员账号的密码,管理员的用户名为root,初始密码为5iveL!fe。重置密码后,新密码即为刚输入的密码。
成功安装GitLab后,很多朋友会想到汉化,当然如果团队里英文水平都不错的话,是没必要汉化的。
GitLab中文社区的项目,v7-v8.8是由Larry Li发起的“GitLab中文社区版项目”(https://gitlab.com/larryli/gitlab),从v8.9之后由@xhang开始继续汉化项目(https://gitlab.com/xhang/gitlab)。
首先确认当前安装版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.6.3
mkdir -p /root/test
cd /root/test /gitlab
如没安装git,需提前安装:
yum install -y git
下载最新的汉化包:
git clone https://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载10.8.4,可以运行如下语句:
git clone https://gitlab.com/xhang/gitlab.git -b v10.8.4-zh
停止GitLab并执行如下语句:
gitlab-ctl stop
cd gitlab/
git fetch
git diff v10.6.3 v10.6.3-zh > ../10.6.3-zh.diff
cd ..
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.6.3-zh.diff
一路回车
gitlab-ctl reconfigure
gitlab-ctl restart
解决方法1
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
gitlab-ctl status
尝试用上面两个命令解决,发现没有用。
这时我怒了,不断的输入gitlab-ctl status,发现unicorn的pid一直在变大。而其他几个服务的pid没有变化。
3.这时差不多找到了问题的所在了,应该就是unicorn的问题。然后看官方教程,可以使用gitlab-ctl tail unicorn 来跟踪unicorn的状态,这时候悲催的发现原来时8080端口被占用了
E, [2015-02-11T17:27:57.818492 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2015-02-11T17:27:57.818621 #26687] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2015-02-11T17:27:58.318902 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
解决方法2
如下:
这个说明使用的端口被占用了
1、修改gitlab 仓库地址,因为默认是localhost
cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml
## Web server settings (note: host is the FQDN, do not include http://)
host: 172.16.101.191
port: 80
https: false
2、修改gitlab端口
cd /etc/gitlab/
vim gitlab.rd
### Advanced settings
# unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8010
nginx['listen_port'] = 8011
3、修改gitlab-http.conf
cd /var/opt/gitlab/nginx/conf
vim gitlab-http.conf
修改:
listen *:8011;
4、gitlab-rails修改cd /var/opt/gitlab/gitlab-rails/etc
vim unicorn.rb
修改:
listen "127.0.0.1:8010", :tcp_nopush => true
5、config.yml
修改cd /var/opt/gitlab/gitlab-shell
vim config.yml
gitlab_url: http://127.0.0.1:8011
6、gitlab-ctl restart
重启下,然后用172.16.101.191:8011 访问
注意版本一定要一致。
#
停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
例如我使用如下命令,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 目录下
#
从1481598919编号备份中恢复
[root@huidu2 backups]# mv 1528783710_2018_06_12_10.6.3-ee_gitlab_backup.tar 1528783710_gitlab_backup.tar
[root@huidu2 backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
[root@huidu2 backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@huidu2 backups]# gitlab-rake gitlab:backup:restore BACKUP=1528783710
输入几个yes
#
启动Gitlab
sudo gitlab-ctl start
如果报502错误
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
1、创建备份
首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份。
gitlab-rake gitlab:backup:create
1
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1502357536_2017_08_10_9.4.3是备份创建的日期
/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份
生成完后,/var/opt/gitlab/backups目录创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包
2、更改Gitlab备份目录
当然你也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
1
/var/opt/gitlab/backups修改为你想存放备份的目录即可,例如下面代码将备份路径修改为/mnt/backups
gitlab_rails['backup_path'] = '/mnt/backups'
修改完成之后使用下面命令重载配置文件即可.
gitlab-ctl reconfigure
自动备份
方法1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
#输入命令crontab -e
sudo crontab -e
#输入相应的任务
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1