This commit is contained in:
1
2026-01-27 07:16:52 +00:00
parent c3da7c53ce
commit bdc2834da0

View File

@@ -181,70 +181,3 @@ steps:
depends_on:
- build_logic
- fetch-deploy-config
# ========== 7. 远程部署依赖SCP推送 ==========
deploy-to-servers:
image: appleboy/drone-ssh:1.7.0
settings:
host: ${REMOTE_HOSTS}
username: ${REMOTE_USERS}
password: ${REMOTE_PASSWORDS}
skip_verify: true
timeout: 60s
script:
- |
# 安装Screen增强容错
if ! command -v screen &> /dev/null; then
echo "🔧 安装Screen..."
if command -v apt &> /dev/null; then
apt update -y && apt install -y --no-install-recommends screen -qq
elif command -v yum &> /dev/null; then
yum install -y screen -q
elif command -v dnf &> /dev/null; then
dnf install -y screen -q
else
echo "❌ 不支持的包管理器,安装失败"
exit 1
fi
fi
# 验证Screen安装
if ! command -v screen &> /dev/null; then
echo "❌ Screen安装后检测失败"
exit 1
fi
echo "✅ Screen已安装/存在"
- mkdir -p ${REMOTE_EXE_DIR}
- chmod +x ${REMOTE_EXE_DIR}/${BIN_NAME} || { echo "❌ 设置执行权限失败"; exit 1; }
# 停止旧会话容错不存在则忽略
- screen -S ${SCREEN_NAME} -X quit 2>/dev/null || true
- |
echo "🚀 启动程序:${REMOTE_EXE_DIR}/${BIN_NAME} -id=${REMOTE_ONLINE_IDS}"
# 启动新会话增强日志输出
screen -dmS ${SCREEN_NAME} bash -c "\"${REMOTE_EXE_DIR}/${BIN_NAME}\" -id=${REMOTE_ONLINE_IDS} 2>&1 | tee -a ${LOG_PATH}"
sleep 3 # 延长等待时间确保会话启动
# 验证会话是否启动
if screen -ls | grep -q "${SCREEN_NAME}"; then
echo "✅ 启动成功Screen会话"
screen -ls | grep ${SCREEN_NAME}
else
echo "❌ 启动失败,无${SCREEN_NAME}会话"
screen -ls
exit 1
fi
# ========== 8. 打印部署汇总依赖部署完成 ==========
print-deploy-info:
image: alpine:latest
depends_on: [deploy-to-servers]
commands:
- echo "======================================"
- echo "🎉 全量部署完成!"
- echo "📌 版本号:${BUILD_VERSION}"
- echo "📌 触发方式:${CI_EVENT_NAME}"
- echo "📌 部署服务器:${REMOTE_HOSTS}"
- echo "📌 OnlineID${REMOTE_ONLINE_IDS}"
- echo "📌 Screen会话${SCREEN_NAME}"
- echo "📌 程序目录:${REMOTE_EXE_DIR}"
- echo "📌 日志路径:${LOG_PATH}"
- echo "📌 对应Commit${CI_COMMIT_SHA}"
- echo "======================================"