升级版本

gitlab/gitlab-ce         16.7.3-ce.0     
gitlab/gitlab-ce         16.1.6-ce.0     
gitlab/gitlab-ce         16.3.7-ce.0     
gitlab/gitlab-ce         15.11.13-ce.0   
gitlab/gitlab-ce         latest  

1.通过命令拉取没有版本镜像

docker pull gitlab/gitlab-ce:16.7.3-ce.0

。。。


2.新执行备份脚本
/data/gitlab_backup.sh start
3.停止现有的gitlab容器
docker stop ctff-mss-gitlab
4.创建一个新目录,启动一个同版本15.10.2的gitlab
docker run --detach \
  --hostname 10.10.113.31 \
  --publish 443:443 --publish 9981:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --privileged=true \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --volume /etc/localtime:/etc/localtime:ro \
  gitlab/gitlab-ce:latest
5.将新备份的脚本执行还原数据
备份还原:(如果是在其他服务器恢复备份,一定要记得将 gitlab.rb 和 gitlab-secrets.json 手动复制到相应路径下
gitlab.rb路径:/etc/gitlab/gitlab.rb
gitlab-secrets.json路径:/etc/gitlab/gitlab-secrets.json)

1)停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

2)gitlab-rake gitlab:backup:restore BACKUP=1628134936_2021_08_05_13.3.6 数据恢复(中间选项一直按y)
gitlab-ctl restart 重启

3)查看是否gitlab状态是否正常
gitlab-ctl status

6.将新启动的gitlab升级到15.11.13版本
docker stop gitlab
docker rm -f gitlab 
docker run --detach \
  --hostname 10.10.113.31 \
  --publish 443:443 --publish 9981:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --privileged=true \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --volume /etc/localtime:/etc/localtime:ro \
  gitlab/gitlab-ce:15.11.13-ce.0
7.升级到16.1.6版本
docker stop gitlab
docker rm -f gitlab 
docker run --detach \
  --hostname 10.10.113.31 \
  --publish 443:443 --publish 9981:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --privileged=true \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --volume /etc/localtime:/etc/localtime:ro \
  gitlab/gitlab-ce:16.1.6-ce.0
8.升级到16.3.7版本
docker stop gitlab
docker rm -f gitlab 
docker run --detach \
  --hostname 10.10.113.31 \
  --publish 443:443 --publish 9981:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --privileged=true \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --volume /etc/localtime:/etc/localtime:ro \
  gitlab/gitlab-ce:16.3.7-ce.0
9.升级到16.7.3版本
docker stop gitlab
docker rm -f gitlab 
docker run --detach \
  --hostname 10.10.113.31 \
  --publish 443:443 --publish 9981:80 --publish 8022:22 \
  --name gitlab \
  --restart always \
  --privileged=true \
  --volume /data/docker/gitlab/config:/etc/gitlab \
  --volume /data/docker/gitlab/logs:/var/log/gitlab \
  --volume /data/docker/gitlab/data:/var/opt/gitlab \
  --volume /etc/localtime:/etc/localtime:ro \
  gitlab/gitlab-ce:16.7.3-ce.0

10.验证

回退方法:
将新的gitlab停止
将原来的gitlab重新启动

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐