From 2ad151e44b962ae674fff79628866053eeb34647 Mon Sep 17 00:00:00 2001 From: lxh2875931338 Date: Thu, 30 Jul 2026 12:48:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6test=E5=88=86=E6=94=AF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db.go | 6 ---- deploy.sh | 89 ------------------------------------------------------- 2 files changed, 95 deletions(-) diff --git a/db.go b/db.go index 0172329..178abdb 100644 --- a/db.go +++ b/db.go @@ -51,12 +51,6 @@ type User struct { CreatedAt string `json:"createdAt"` } -<<<<<<< HEAD -// ============================================================ -// 数据库初始化 - -======= ->>>>>>> test func InitDB() error { // 确保 data 目录存在 if err := os.MkdirAll("./data", 0755); err != nil { diff --git a/deploy.sh b/deploy.sh index 82faa29..951e914 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,14 +1,7 @@ #!/bin/bash # ============================================================ -<<<<<<< HEAD -# frpc-console 一键部署脚本(Docker 优先) -# 支持:Linux x86_64 / ARM64 / ARMv7 -# 自动安装:git / curl / wget / Docker -# -======= # frpc-console 一键部署脚本 (Docker 优先) ->>>>>>> test # 用法: # run-deploy.sh 引导后自动执行 # ============================================================ @@ -29,27 +22,12 @@ WORK_DIR="/tmp/frpc-console-build" DEFAULT_PORT=9300 DEFAULT_DEPLOY_DIR="/opt/frpc-console" IMAGE_NAME="frpc-console" -<<<<<<< HEAD - -# ---------- 状态变量 ---------- -OS="" -OS_VERSION="" -ARCH="" -HAS_GIT=false -HAS_CURL=false -HAS_WGET=false -HAS_DOCKER=false -NEED_INSTALL_GIT=false -NEED_INSTALL_CURL=false -NEED_INSTALL_WGET=false -======= KEEP_IMAGES=3 # ---------- 状态变量 ---------- OS=""; OS_VERSION=""; ARCH="" HAS_GIT=false; HAS_CURL=false; HAS_WGET=false; HAS_DOCKER=false NEED_INSTALL_GIT=false; NEED_INSTALL_CURL=false; NEED_INSTALL_WGET=false ->>>>>>> test PORT=${DEFAULT_PORT} DEPLOY_DIR=${DEFAULT_DEPLOY_DIR} DATA_DIR="${DEPLOY_DIR}/data" @@ -274,12 +252,8 @@ generate_plan() { PLAN="${PLAN} • 安装必要工具:${pkgs}\n" fi PLAN="${PLAN} • 拉取 frpc-console 源码 (${BRANCH} 分支)\n" -<<<<<<< HEAD - PLAN="${PLAN} • 构建 Docker 镜像(源码内编译)\n" -======= PLAN="${PLAN} • 构建 Docker 镜像: ${IMAGE_NAME}:${IMAGE_TAG}\n" PLAN="${PLAN} • 目标版本: ${TARGET_VERSION}\n" ->>>>>>> test if [ "$CONTAINER_EXISTS" = true ]; then PLAN="${PLAN} • 停止并删除旧容器\n" fi @@ -348,22 +322,6 @@ do_deploy() { print_subtitle "开始部署" echo "" -<<<<<<< HEAD - # ----- 事务前钩子:备份数据库 ----- - print_step "备份数据库..." - BACKUP_DIR="/tmp/frpc-console/db-backups" - mkdir -p "$BACKUP_DIR" - DB_FILE="${DEPLOY_DIR}/frpc-console.db" - if [ -f "$DB_FILE" ]; then - TIMESTAMP=$(date +%Y%m%d_%H%M%S) - BACKUP_FILE="$BACKUP_DIR/frpc-console.db.$TIMESTAMP" - cp "$DB_FILE" "$BACKUP_FILE" - print_info "已备份: $BACKUP_FILE" - if command -v sqlite3 &> /dev/null; then - if ! sqlite3 "$DB_FILE" "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='users';" 2>/dev/null | grep -q "^1$"; then - print_warn "数据库文件无效,将删除,由容器全新初始化" - rm -f "$DB_FILE" -======= # ----- 事务前钩子:备份数据库(仅降级时) ----- BACKUP_DIR="" if [ -n "$CURRENT_VERSION" ] && [ -n "$TARGET_VERSION" ]; then @@ -387,7 +345,6 @@ do_deploy() { if [ -d "$DEPLOY_DIR" ]; then cp -r "$DEPLOY_DIR" "$BACKUP_DIR/frpc-console" print_success "备份完成: $BACKUP_DIR" ->>>>>>> test else print_warn "部署目录不存在,跳过备份" fi @@ -396,8 +353,6 @@ do_deploy() { print_info "首次部署,跳过版本比对" fi -<<<<<<< HEAD -======= # ----- 安装必要工具 ----- if [ "$NEED_INSTALL_GIT" = true ] || [ "$NEED_INSTALL_CURL" = true ] || [ "$NEED_INSTALL_WGET" = true ]; then print_step "安装必要工具..." @@ -422,22 +377,15 @@ do_deploy() { print_success "必要工具安装完成" fi ->>>>>>> test # ----- 拉取代码 ----- print_step "拉取代码..." rm -rf "$WORK_DIR" git clone --depth 1 --branch "$BRANCH" "$REPO_URL" "$WORK_DIR" cd "$WORK_DIR" mkdir -p bin static -<<<<<<< HEAD - print_success "代码拉取完成" - - # ----- 停止旧容器(拉取代码之后)----- -======= print_success "代码拉取完成 (分支: ${BRANCH})" # ----- 停止旧容器 ----- ->>>>>>> test if [ "$CONTAINER_EXISTS" = true ]; then print_step "停止旧容器..." if [ "$CONTAINER_RUNNING" = true ]; then @@ -448,21 +396,6 @@ do_deploy() { fi # ----- 准备部署目录 ----- -<<<<<<< HEAD - print_step "准备部署目录..." - mkdir -p "$DEPLOY_DIR" - mkdir -p "$DATA_DIR" - if [ -f "$DB_FILE" ]; then - print_info "数据库文件存在,将保留" - else - print_info "数据库文件不存在,容器启动时将自动创建" - fi - - # ----- 构建 Docker 镜像(内部自动处理 go.mod 降级)----- - print_step "构建 Docker 镜像..." - docker build -t "${IMAGE_NAME}:latest" . - print_success "Docker 镜像构建完成: ${IMAGE_NAME}:latest" -======= print_step "准备部署目录..." mkdir -p "$DEPLOY_DIR" mkdir -p "$DATA_DIR" @@ -535,7 +468,6 @@ docker build --no-cache \ docker tag "${IMAGE_NAME}:${IMAGE_TAG}" "${IMAGE_NAME}:preview" print_info "已标记 ${IMAGE_NAME}:preview" fi ->>>>>>> test # ----- 启动新容器 ----- print_step "启动 frpc-console 容器..." @@ -544,11 +476,7 @@ docker build --no-cache \ --name frpc-console \ --restart=always \ --network host \ -<<<<<<< HEAD - -v ${DEPLOY_DIR}:/app \ -======= -v ${DEPLOY_DIR}/data:/app/data \ ->>>>>>> test -e PORT=${PORT} \ -e TZ=Asia/Shanghai \ ${IMAGE_NAME}:${IMAGE_TAG} @@ -560,14 +488,6 @@ docker build --no-cache \ exit 1 fi -<<<<<<< HEAD - # ----- 检查 frpc 子进程 ----- - print_step "检查 frpc 状态..." - sleep 3 - if docker ps --format '{{.Names}}' | grep -q "^frpc-console$"; then - if docker exec frpc-console ps aux 2>/dev/null | grep -q "[f]rpc -c"; then - print_success "frpc 进程运行正常" -======= # ----- 写入版本文件 ----- print_step "写入版本文件..." echo "$TARGET_VERSION" > "${DEPLOY_DIR}/data/version.ini" @@ -582,7 +502,6 @@ docker build --no-cache \ PID=$(cat "$PID_FILE" 2>/dev/null | tr -d ' \n') if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then print_success "frpc 进程运行正常 (PID: $PID)" ->>>>>>> test else print_warn "frpc 进程未运行(PID 文件存在但进程已退出,可能配置为空)" fi @@ -590,11 +509,7 @@ docker build --no-cache \ print_warn "frpc 进程未运行(PID 文件不存在,请导入 TOML 后重试)" fi -<<<<<<< HEAD - # ----- 事务后钩子:检测数据库 ----- -======= # ----- 验证数据库 ----- ->>>>>>> test print_step "验证数据库状态..." if docker exec frpc-console sqlite3 /app/frpc-console.db "SELECT COUNT(*) FROM users;" 2>/dev/null | grep -q "^[0-9]"; then print_success "数据库可用" @@ -654,10 +569,6 @@ docker build --no-cache \ echo "" echo -e " ${CYAN}📍 访问地址:${NC} http://$(hostname -I | awk '{print $1}'):${PORT}" echo -e " ${CYAN}📂 数据目录:${NC} ${DEPLOY_DIR}" -<<<<<<< HEAD - echo -e " ${CYAN}📦 备份目录:${NC} /tmp/frpc-console/db-backups" -======= ->>>>>>> test echo -e " ${CYAN}🐳 容器名称:${NC} frpc-console" echo -e " ${CYAN}🏷️ 版本:${NC} ${TARGET_VERSION}" echo -e " ${CYAN}🌿 分支:${NC} ${BRANCH}"