提交 4610b5d3 authored 作者: Andy's avatar Andy

2

上级 43fcd529
......@@ -579,18 +579,99 @@ init_environment_check() {
done
}
# 更新分支函数
update_branch() {
local repo_url=$1
local branch=$2
local target_dir=$3
echo "Updating branch '$branch' in '$target_dir'..."
cd "$target_dir" || return 1
git checkout "$branch" >/dev/null 2>&1
git fetch origin "$branch"
local_commit=$(git rev-parse "$branch")
remote_commit=$(git rev-parse "origin/$branch")
if [ "$local_commit" = "$remote_commit" ]; then
echo "✅ Branch '$branch' is up-to-date."
else
echo "⬇️ Branch '$branch' has updates. Pulling changes..."
RETRY=0
until git pull origin "$branch"; do
RETRY=$((RETRY + 1))
if [ "$RETRY" -ge "$MAX_RETRY" ]; then
echo "❌ Failed to update '$branch' after $MAX_RETRY attempts."
break
fi
echo "Retrying pull for '$branch' ($RETRY/$MAX_RETRY)..."
sleep 2
done
fi
cd - >/dev/null
}
# 克隆分支函数
clone_branch() {
local repo_url=$1
local branch=$2
local target_dir=$3
echo "Cloning branch '$branch' into '$target_dir'..."
RETRY=0
until git clone --branch "$branch" --single-branch "$repo_url" "$target_dir"; do
RETRY=$((RETRY + 1))
if [ "$RETRY" -ge "$MAX_RETRY" ]; then
echo "❌ Failed to clone '$branch' after $MAX_RETRY attempts."
break
fi
echo "Retrying clone for '$branch' ($RETRY/$MAX_RETRY)..."
sleep 2
done
}
deal_svr() {
REPO_URL=git@git.wkwork.xyz:LaunchDemo/0000_BD_Demo_Video_Svr.git
BASE_DIR="./svr"
MAX_RETRY=3 # 最大重试次数
BRANCHES=(
"docker-base"
"docker-game"
"docker-proxy"
"bdvideo"
)
# 主循环
for BRANCH in "${BRANCHES[@]}"; do
TARGET_DIR="$BASE_DIR/$BRANCH"
if [ -d "$TARGET_DIR/.git" ]; then
update_branch "$REPO_URL" "$BRANCH" "$TARGET_DIR"
else
clone_branch "$REPO_URL" "$BRANCH" "$TARGET_DIR"
fi
done
}
main() {
if [ "$(id -u)" -ne 0 ]; then
echo_content "red" "请以 root 权限运行此脚本。"
exit 1
fi
echo_content "green" "安装目录:$install_dir"
echo_content "green" "初始化脚本 检查环境..."
echo_content "green" " 1. 初始化脚本 检查环境..."
check_install_git
check_install_NodeJs
check_install_PM2
check_install_unzip
check_install_docker
echo_content "green" " 2. 获取更新"
deal_svr
# init_environment_check
# select_operation
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论