gitlab升级


  gitlab ce版漏洞,发现是9.1.3,而现在的是12.8.1,强迫症犯了,开始折腾。

  不能直接跨大版本升级,于是根据网上的建议,制定一个计划:弄台新机器,装9中最高版,把现在的数据迁移过来,然后一步步升上去。

  跨大版本升级必须先升到该大版本的最高小版本,然后再升级到下一个大版本的最低小版本,再升到目标版本,注意版本要适配操作系统。

  标准动作:

1、停gitlab:

gitlab-ctl stop nginx
gitlab-ctl stop sidekiq
gitlab-ctl stop unicorn

2、升级(本地包升级):

yum install ~/gitlab.el7.13.0.0.rpm

3、重新配置、重启:

gitlab-ctl reconfigure
gitlab-ctl restart

  坑:

1、gitlab-ctl reconfigure有可能执行失败,原因不明,但重执行一次就会成功。为这反复卸载安装gitlab及组件,差点把主机整垮了

2、修改仓库数据存储地址的方法,在9版本下还能用git_data_dir "/data/gitlab/git-data",但10开始就不能用了

3、必须先升到每个大版本中的最高版本才能升到下一个版本。

4、rpm是从清华大学镜像站上下的,11的最高版本上面没有,需要到官网下载:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

5、external_url配置端口8080会导致失败,原因是unicorn默认占用8080。

  备忘:

1、gitlab-ctl是核心命令,大多数操作都是通过它。备份和恢复操作靠gitlab-rake

2、设置/取消gitlab自动启动:systemctl enable/disable gitlab-runsvdir.service

3、修改数据存放位置:/etc/gitlab/gitlab.rb文件中git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data" } })。这样数据将放在/data/gitlab/git-data/repositores下。

4、修改备份文件存放/读取位置:gitlab_rails['backup_path'] = "/data/gitlab/backups"

5、yum除了在线装,还可以直接通过rpm安装:yum install gitlab-ce-9.5.9-ce.0.el7.x86_64.rpm

6、自动备份:通过cron设置定时任务来实现自动备份:crontab -e,增加一条:

0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

7、自动删除旧备份文件:gitlab自带删除旧备份数据功能,需要修改配置文件(设置备份保留7天(7*3600*24=604800),秒为单位):

gitlab_rails['backup_keep_time'] = 604800

 8、nginx的配置:如果需要新增location,可以修改/var/opt/gitlab/nginx/conf/gitlab-http.conf。然后用gitlab-ctl restart nginx生效。做好备份,如果执行reconfigure可能会被冲掉。

 

  参考链接:

http://blog.sina.com.cn/s/blog_beebb7590102yi9l.html

https://www.cnblogs.com/ssgeek/p/9392104.html

http://www.361way.com/gitlabce-backup-restore-update/5713.html

官网CE包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM