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