gitlab迁移:
注意事项:gitlab迁移必须是相同版本,如果版本不同,升级过程中出现问题较多难为处理,甚至升级不成功,本人在这里踩过不少坑,所以还是先安装相同的版本,等迁移过去然后再升级是一个不错的选择。
原来版本:7.14.0
操作平台:ubuntu16.04
机器配置:4核8G
gitlab安装
ubuntu安装gitlab7.14.0
方法一:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=7.14.0-ce.0
方法二:
wge --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/precise/gitlab-ce_7.14.0-ce.0_amd64.deb/download.deb
sudo dpkg -i gitlab-ce_7.14.0-ce.0_amd64.deb
安装完成后,要重新配置gitlab,才可以正常启动gitlab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
gitlab相关命令:
sudo gitlab-ctl start 启动gitlab
sudo gitlab-ctl restart 重启gitlab
sudo gitlab-ctl stop 停止gitlab
gitlab备份
备份命令:sudo gitlab-rake gitlab:backup:create
注意:备份的时候gitlab不能停止,如果停止了gitlab,备份的时候将会提示数据库5432端口无法连接而备份失败。
备份完成后,即可在/var/opt/gitlab/backups/目录下创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1502357536_2017_08_10_9.4.3是备份创建的日期
gitlab迁移:
一、将打包好的备份文件拷贝到恢复目录
sudo scp 1516433956_gitlab_backup.tar ubuntu@192.168.31.34:/var/opt/gitlab/backups/
二、将迁移文件的权限修改为777
sudo chmod 777 1516433956_gitlab_backup.tar
三、停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
四、恢复gitlab
gitlab-rake gitlab:backup:restore BACKUP=1516433956 (注意这里的编号是恢复文件的头部编号)
五、恢复过程如果备份文件比较大的话时间较长,中间会等待输入确认操作,根据提示输入yes即可。
六、恢复完成,启动gitlab即可通过浏览器80端口访问gitlab内容
sudo gitlab-ctl start
gitlab升级:(gitlab7.14.0--->>>gitlab9.5.0)
截止目前为止gitlab最新版本为10.8.4,如果直接从7版本升级到10版本出现提示:升级不成功,必须先升级到9.5版本然后再升级到10的版本。其实中间是postgresql数据库升级的一个过程,本人在此没有投入过多的精力,只是先升级到9.5然后再升级新的版本,成功~
一、升级gitlab从7.14.0到9.5.0,同样安装的方式有两种
方法一:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=9.5.0-ce.0
方法二:
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_9.5.0-ce.0_amd64.deb/download.deb
二、安装完成后,启动gitlab会报错,原因是postgresql没有升级到最新,需要将postgresql也升级到最新。
升级postgresql数据库方法:
sudo gitlab-ctl pg-upgrade
三、升级完数据库之后,重新配置gitlab
sudo gitlab-ctl reconfigure
四、启动gitlab
sudo gitlab-ctl start
五、启动之后即可在浏览器80端口查看gitlab相关内容,至此,gitlab升级9.5.0版本升级完成。
gitlab升级:(gitlab9.5.0--->>>gitlab10.7.0)
最新版本10.8.4存在bug较多,尝试几次升级后都没有成功,具体原因实在没有研究明白,最后只能放弃最新版本而选择升级到10.7.0
一、升级gitlab9.5.0到10.7.0,同样方式有两种
方法一:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=10.7.0-ce.0
方法二:
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_10.7.0-ce.0_amd64.deb/download.deb
二、升级完成之后,同样会提示数据库需要更新,虽然在上一步骤已经更新数据库到最新,但是此时还需要重新跑一边数据库更新命令。
sudo gitlab-ctl pg-upgrade
三、重新配置gitlab
sudo gitlab-ctl reconfigure
四、重新启动gitlab
sudo gitlab-ctl restart
至此步骤,已经将gitlab从7.14.0版本升级到10.7.4,以上为全部步骤。
-----------------------------------------------------------------------------------------------------------
安装完成后,配置gitlab域名和邮箱
域名配置:
配置文件:/etc/gitlab/gitlab.rb
修改项:external_url 'http://sc-git' #sc-git就是自定义的本地gitlab域名
邮件配置:
配置文件:/etc/gitlab/gitlab.rb
以阿里企业邮箱为准,配置以下内容:
############################
# gitlab.yml configuration #
############################
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@xxx.com' #定义邮件来自哪里
gitlab_rails['gitlab_email_display_name'] = 'Gitlab' #定义邮件主题
################################
# GitLab email server settings # gitlab server邮件配置
################################
# see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/doc/settings/smtp.md#smtp-settings
# Use smtp instead of sendmail/postfix.
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465 #注意这里是ssl加密端口465,不能是25端口,否则将不能发送成功,出现ssl错误。
gitlab_rails['smtp_user_name'] = "xxx@xx.com"
gitlab_rails['smtp_password'] = "xxxxx" #邮箱主要配置信息
gitlab_rails['smtp_domain'] = "smtp.mxhichina.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
配置完邮件之后,需要重新配置gitlab,并且重新启动,新的配置将会生效。
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
发送邮件测试:
一、进入gitlab控制台
gitlab-rails console
二、发送测试邮件
Notify.test_email('xxx@xx.com', 'gitlab', 'test email for gitlab').deliver_now
如果邮件配置正确,以上两个过程不会出现报错现象,进入邮箱即可收到测试。
以上如果有什么问题可以邮件至本人邮箱,一起交流学习:jiangong.huang@foxmail.com