#!/bin/bash

# 检查参数是否为空
if [ -z "$1" ]; then
  echo "请提供要替换的版本号作为参数"
  exit 1
fi

# 提取旧的版本号
old_version=$(grep -oP 'image: gitlab/gitlab-ce:\K[0-9]+\.[0-9]+\.[0-9]+-ce\.[0-9]+' docker-compose.yml)

# 替换docker-compose.yml文件中的版本号
sed -i "s/image: gitlab\/gitlab-ce:[0-9]\+\.[0-9]\+\.[0-9]\+-ce\.[0-9]\+/image: gitlab\/gitlab-ce:$1/g" docker-compose.yml

docker exec -it gitlab gitlab-rake gitlab:backup:create

cd /home/gitlab && docker-compose up -d
echo "更新docker gitlab镜像"
# docker network connect https gitlab

# docker images|grep none|awk '{print $3 }'|xargs docker rmi
echo "版本号已成功更新为 $1"

# 删除旧的镜像
docker rmi "gitlab/gitlab-ce:$old_version"
echo "旧的镜像 gitlab/gitlab-ce:$old_version 已成功删除"