From f9df72ebb83ed4e2ab62fd9653e14aa97a6b5c60 Mon Sep 17 00:00:00 2001 From: "n72595987@gmail.com" Date: Sat, 29 Nov 2025 18:17:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=B8=BA=E7=9B=B4=E6=8E=A5=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=EF=BC=9A=E4=BD=BF=E7=94=A8=20systemd=20=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20Java=20=E8=BF=9B=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更说明: - 不再使用 Docker 容器部署后端 - 使用 sdkman 管理的 JDK 17 直接运行 JAR - 使用 systemd 服务管理进程(自动重启、日志管理) 部署流程: 1. Drone CI 编译 BladeX 框架和后端项目 2. SCP 传输 blade-api.jar 到 /app/martial-backend/bin/ 3. SSH 执行 systemctl restart martial-backend 4. systemd 自动启动 Java 进程 优势: - 简化部署,不需要 Docker 镜像层 - 更直接的进程管理和日志查看 - 启动速度更快 - 资源占用更少 systemd 服务配置: - 服务名:martial-backend.service - 工作目录:/app/martial-backend - JAR 位置:/app/martial-backend/bin/blade-api.jar - 日志目录:/app/martial-backend/logs/ - JVM 参数:-Xms512m -Xmx1024m - 自动重启:失败后 10 秒重启 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .drone.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5cf4142..ff7e602 100644 --- a/.drone.yml +++ b/.drone.yml @@ -32,7 +32,7 @@ steps: - ls -lh target/blade-api.jar - echo "✅ 后端项目编译完成" - # 步骤3:传输构建产物 + # 步骤3:传输 JAR 文件到服务器 - name: 传输构建产物 image: appleboy/drone-scp settings: @@ -41,13 +41,12 @@ steps: key: from_secret: ssh_key port: 22 - target: /app/martial/backend-build + target: /app/martial-backend/bin/ source: - target/blade-api.jar - - Dockerfile - strip_components: 0 + strip_components: 1 - # 步骤4:在服务器上构建镜像并部署 + # 步骤4:重启后端服务 - name: 部署到生产环境 image: appleboy/drone-ssh settings: @@ -57,11 +56,9 @@ steps: from_secret: ssh_key port: 22 script: - - cd /app/martial/backend-build - - docker build -t martial/backend:latest . - - cd /app/martial - - docker-compose up -d backend - - docker ps | grep martial-backend + - systemctl restart martial-backend + - sleep 3 + - systemctl status martial-backend --no-pager - echo "✅ 后端部署完成" # 步骤5:健康检查