提交 3ca14f63 authored 作者: Andy's avatar Andy

12

上级 7d3872c4
......@@ -140,47 +140,47 @@ check_install_PM2() {
# ========== 克隆函数 ==========
clone_branch() {
local REPO_URL="$1"
local BRANCH="$2"
local TARGET_DIR="$3"
local MAX_RETRY="${4:-3}"
echo "⬇️ 克隆分支:$BRANCH$TARGET_DIR"
RETRY=0
until git clone --branch "$BRANCH" --depth=1 "$REPO_URL" "$TARGET_DIR"; do
RETRY=$((RETRY + 1))
if [ "$RETRY" -ge "$MAX_RETRY" ]; then
echo_content "red" "❌ 克隆分支 $BRANCH 失败,多次重试无效。"
local tmp_repo_url="$1"
local tmp_branch="$2"
local tmp_target_dir="$3"
local tmp_max_retry="${4:-3}"
echo "⬇️ 克隆分支:$tmp_branch$tmp_target_dir"
tmp_retry=0
until git clone --branch "$tmp_branch" --depth=1 "$tmp_repo_url" "$tmp_target_dir"; do
tmp_retry=$((tmp_retry + 1))
if [ "$tmp_retry" -ge "$tmp_max_retry" ]; then
echo_content "red" "❌ 克隆分支 $tmp_branch 失败,多次重试无效。"
return 1
fi
echo "重试克隆 ($RETRY/$MAX_RETRY)..."
echo "重试克隆 ($tmp_retry/$tmp_max_retry)..."
sleep 2
done
echo_content "green" "✅ 分支 $BRANCH 克隆完成。"
echo_content "green" "✅ 分支 $tmp_branch 克隆完成。"
}
# ========== 更新函数 ==========
update_branch() {
local REPO_URL="$1"
local BRANCH="$2"
local TARGET_DIR="$3"
local tmp_repo_url="$1"
local tmp_branch="$2"
local tmp_target_dir="$3"
if [ ! -d "$TARGET_DIR/.git" ]; then
echo_content "red" "⚠️ 目录 $TARGET_DIR 不是 Git 仓库,无法更新。"
if [ ! -d "$tmp_target_dir/.git" ]; then
echo_content "red" "⚠️ 目录 $tmp_target_dir 不是 Git 仓库,无法更新。"
return 1
fi
echo "🔄 更新分支:$BRANCH$TARGET_DIR"
cd "$TARGET_DIR" || return 1
echo "🔄 更新分支:$tmp_branch$tmp_target_dir"
cd "$tmp_target_dir" || return 1
# 允许被删除的远程分支同步
git fetch origin "$BRANCH" --depth=1
git checkout "$BRANCH" || git checkout -b "$BRANCH" origin/"$BRANCH"
git pull origin "$BRANCH"
git fetch origin "$tmp_branch" --depth=1
git checkout "$tmp_branch" || git checkout -b "$tmp_branch" origin/"$tmp_branch"
git pull origin "$tmp_branch"
cd - >/dev/null
echo_content "green" "✅ 分支 $BRANCH 更新完成。"
echo_content "green" "✅ 分支 $tmp_branch 更新完成。"
}
......@@ -206,13 +206,13 @@ fetch_git_svr() {
mkdir -p "$BASE_DIR"
for Branch in "${GitHub_Repo_Branchs[@]}"; do
TARGET_DIR="$BASE_DIR/$Branch"
tmp_target_dir="$BASE_DIR/$Branch"
echo_content "skyBlue" "🌀 分支:$Branch"
if [ -d "$TARGET_DIR/.git" ]; then
update_branch "$Repo_Url" "$Branch" "$TARGET_DIR"
if [ -d "$tmp_target_dir/.git" ]; then
update_branch "$Repo_Url" "$Branch" "$tmp_target_dir"
else
clone_branch "$Repo_Url" "$Branch" "$TARGET_DIR"
clone_branch "$Repo_Url" "$Branch" "$tmp_target_dir"
fi
done
......@@ -220,135 +220,38 @@ fetch_git_svr() {
}
fetch_git_svr() {
echo_content "green" "📦 获取服务器端分支(支持 Token + git pull)..."
fetch_git_web() {
REPO_URL="git@git.wkwork.xyz:LaunchDemo/0000_BD_Demo_Game_Web.git"
# --- 配置区 ---
Git_User="LaunchDeploy" # GitHub 用户名或组织名
Git_Repo_Name="wk_gameplat_web"
BASE_DIR="./web"
MAX_RETRY=3 # 最大重试次数
BRANCHES=(
"main-admin"
"agent-admin"
"bank-client"
"bank-server"
"down"
"mobile"
"webgame"
GitHub_Repo_Branchs=(
"1031_Game_JinSha"
)
# 主循环
for BRANCH in "${BRANCHES[@]}"; do
TARGET_DIR="$BASE_DIR/$BRANCH"
if [ -d "$TARGET_DIR/.git" ]; then
update_branch "$REPO_URL" "$BRANCH" "$TARGET_DIR"
# Token HTTPS 地址
Repo_Url="https://${Git_Token}@git.wkwork.xyz/${Git_User}/${Git_Repo_Name}.git"
mkdir -p "$BASE_DIR"
for Branch in "${GitHub_Repo_Branchs[@]}"; do
tmp_target_dir="$BASE_DIR/$Branch"
echo_content "skyBlue" "🌀 分支:$Branch"
if [ -d "$tmp_target_dir/.git" ]; then
update_branch "$Repo_Url" "$Branch" "$tmp_target_dir"
else
clone_branch "$REPO_URL" "$BRANCH" "$TARGET_DIR"
clone_branch "$Repo_Url" "$Branch" "$tmp_target_dir"
fi
done
}
check_git_account() {
# 1. 检查 id_rsa 文件是否存在
if [ ! -f /root/.ssh/id_rsa ]; then
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cat >/root/.ssh/id_rsa <<'EOF'
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
EOF
chmod 600 /root/.ssh/id_rsa
echo "✅ id_rsa 写入成功"
else
echo "⚠️ /root/.ssh/id_rsa 已存在,未做修改"
fi
# 2. 检测 SSH 连接是否成功
# echo "🧪 正在测试 SSH 连接..."
# ssh -o StrictHostKeyChecking=no -T git@git.wkwork.xyz 2>&1 | grep "successfully authenticated" >/dev/null
# if [ $? -eq 0 ]; then
# echo "✅ SSH 连接成功 (已通过身份验证)"
# return 0
# else
# echo "❌ SSH 连接失败 (请检查私钥与服务器)"
# return 1
# fi
echo "🧪 测试 SSH 连接..."
RESULT=$(ssh -o StrictHostKeyChecking=no git@git.wkwork.xyz 2>&1)
echo "$RESULT"
if echo "$RESULT" | grep -q "Welcome to GitLab"; then
echo "✅ SSH 连接成功"
return 0
else
echo "❌ SSH 连接失败"
return 1
fi
echo_content "green" "🎉 所有 Svr 分支同步完成!"
}
# # 3. 测试 Git 仓库是否可以访问
# echo "🧪 正在测试 Git 仓库访问..."
# git ls-remote "$REPO_URL" &>/dev/null
# if [ $? -eq 0 ]; then
# echo "✅ Git 仓库连接成功"
# else
# echo "❌ Git 仓库连接失败 (请检查 REPO_URL 与权限)"
# exit 1
# fi
}
run_docker() {
cd ./svr/docker-base || exit
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论