GitLab 遷移與升級

方法一:

1,備份老版本gitlab數(shù)據(jù)并遷移新版本gitlab服務(wù)器

停gitlab服務(wù)直接備份data和config目錄

#!/bin/bash

sudoscp?-rgitlab/configbetalpha@xxx.xxx.xxx.xxx:/xxx/gitlab_old/&&

sudo tar -zcvf /xxx/data.tar.gz /xxx/gitlab/data &&

scp?-r?/xxx/data.tar.gz?betalpha@xxx.xxx.xxx.xxx:/xxx/gitlab_old/

2,搭建同版本gitlab

docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab?--volume /xxx/gitlab/logs:/var/log/gitlab?--volume /xxx/gitlab/data:/var/opt/gitlab?--volume /xxx/gitlab/backups:/var/opt/gitlab/backups?gitlab/gitlab-ce:11.7.5-ce.0

3,還原數(shù)據(jù)到新版本gitlab服務(wù)

1,docker?exec?-it [容器ID] chown git /var/opt/gitlab/.ssh/authorized_keys

2,dockerexec-it [容器ID] chmod?2770?/var/opt/gitlab/git-data/repositories

3,dockerexec-it [容器ID] gitlab-ctl?reconfigure

登陸容器??

update-permissions &&?chmod 2770 /var/opt/gitlab/git-data/repositories

docker restart gitlab_old

4,升級新版本gitlab 不支持跨版本升級要小版本一個一個迭代升級?

11.3.0-ce.0 ->? 11.3.4-ce.0? ? ->? ?11.11.8-ce.0? ?->? ?12.0.12-ce.0? ?->? ? 12.4.1-ce.0?

12.1.0 -> 12.10.14 -> 13.0.12 -> 13.1.0 -> 13.2.0 -> 13.3.1 -> 13.4.0

11.7.5?->?11.11.8?->?12.0.12?->?12.1.17?->?12.10.14?->?13.0.14?->?13.1.11->?13.8.8->13.12.10->14.0.7->14.1.3(升級到這就可以了官方也只支持到14.1.2,再往上升級可能會報錯)-->14.2.1 -->latest


不停循環(huán)更換image版本,每次升級后都要備份 然后用新的備份進(jìn)行下一次還原

登陸容器

gitlab-ctl stop??

gitlab-rake gitlab:backup:create

docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:xx.xx.xx-ce.0

5,升級后修改url登陸地址

方法二:

1,備份老版本gitlab數(shù)據(jù)并遷移新版本gitlab服務(wù)器

gitlab-rake gitlab:backup:create

2,搭建同版本gitlab

docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:11.7.5-ce.0

3,還原數(shù)據(jù)到新版本gitlab服務(wù)

登陸容器

gitlab-ctl stop unicorn? ?

gitlab-ctl stop sidekiq

chmod 777 /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar

gitlab-rake gitlab:backup:restore BACKUP=1530156812_2018_06_28_10.8.4?

gitlab-ctl start? ?

4,升級新版本gitlab

gitlab-ctl stop??

gitlab-rake gitlab:backup:create

docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:xx.xx.xx-ce.0



?gitlab-runner搭建

docker run --detach --publish 10080:80 --publish 10022:22?--name?gitlab-runner?--restart always --volume?/var/run/docker.sock:/var/run/docker.sock?--volume?/xxx/gitlab-runner/config:/etc/gitlab-runnergitlab/gitlab-runner:latest

?gitlab-runner注冊

進(jìn)入容器

gitlab-runner registers 根據(jù)不項目要求去選擇引擎和標(biāo)簽,一般引擎選擇docker或者k8s,選擇docker 最后一個選alpine:latest

修改config.toml中的custom_build_dir可用

簡單驗證

1.檢查之前項目是否都還在

2.拉代碼,推代碼

3.ci-cd是否還能正常執(zhí)行

4.以前文檔和wiki內(nèi)容是否還有

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容