一、安装gitlab
1.1、第一步安装或者配置一些必要环境:
sudo yum install curl openssh-server openssh-server postfix cronie
sudo service postfix start
sudo lokkit -s http -s ssh
sudo chkconfig postfix on
1.2、下载安装gitlab包
centos 7
地址:
wget下载:wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.4.5-ce.0.el7.x86_64.rpm
升级安装:rpm -Uvh gitlab-ce-11.4.5-ce.0.el7.x86_64.rpm
1.3、修改gitlab配置文件指定服务器Ip和自定义端口
vim /etc/gitlab/gitlab.rb
将gitlab.rb文件中修改本服务器Ip external_url 'https://本机IP'
比如我本机IP172.16.3.42 :external_url 'https://172.16.3.42'
保存并退出,并执行以下命令
sudo gitlab-ctl reconfigure
1.4、浏览器输入gitlab.rb文件中指定的ip
首次登录会提示修改用户名及密码
二、升级gitlab
查看gitlab版本信息,注意如果要迁移gitlab,使得新安装的gitlab账户权限不变需要版本相同
[root@localhost /]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.6.4-ce
给原有gitlab升级到现有git相同版本再做备份,否则无效:
不能跨太多版本所以基本升级到某个大版本的最后一个版本再升级
10.7.7ce--10.8.7ce--11.2.8ce--11.4.6ce
2.1、下载包到清华大学开源软件镜像包下载,有各个版本
2.2、停止相关服务
gitlab-ctl stop unicorn \
gitlab-ctl stop sidekiq \
gitlab-ctl stop nginx
2.3、升级安装
rpm -Uvh
#rpm -Uvh gitlab-ce-11.4.7-ce.0.el7.x86_64.rpm
2.4、 重新配置gitlab
gitlab-ctl reconfigure
2.5、 重启gitlab
gitlab-ctl restart
三、备份gitlab
3.1、创建备份文件
到原来服务器备份gitlab,执行以下命令即可
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups目录下创建压缩备份包名称类似为1502357536_2018_11_22_10.6.4_gitlab_backup.tar的压缩包开头是备份时间
3.2、备份配置文件
/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份
四、迁移
4.1、确保新Gitlab服务器和老Gitlab服务器版本相同
4.2、老备份文件目录(/var/opt/gitlab/backups目录)下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups目录
scp root@172.28.17.155:/var/opt/gitlab/backups/1502357536_2017_08_10_9.4.3_gitlab_backup.tar /var/opt/gitlab/backups/
4.3.0、从备份文件中恢复gitlab
4.3.1、将备份文件权限修改为777
chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar
4.3.2、执行命令停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
4.3.3、执行命令从备份文件中恢复Gitlab
#cd /var/opt/gitlab/backups
#gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
#gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3
交互界面都输入yes,这些操作会清空这里的所有数据,如果是新安装的就没事,之前有数据就可能要有取舍之前的要先备份等。
五、启动git,大功告成
sudo gitlab-ctl start