宅房 a7c7da109b
Some checks failed
continuous-integration/drone/push Build is failing
fix bugs
2025-11-30 12:41:50 +08:00
2025-11-30 12:41:50 +08:00
2025-11-30 12:41:50 +08:00
2025-11-28 16:17:55 +08:00
2025-11-30 12:07:18 +08:00
2025-11-28 16:17:55 +08:00
2025-11-30 12:07:18 +08:00

版权声明

  • BladeX是一个商业化软件系列产品知识产权归上海布雷德科技有限公司独立所有
  • 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款
  • 更多详情请看:BladeX商业授权许可协议

答疑流程

  1. 遇到问题或Bug
  2. 业务型问题打断点调试尝试找出问题所在
  3. 系统型问题通过百度、谷歌、社区查找解决方案
  4. 未解决问题则进入技术社区进行发帖提问:https://sns.bladex.cn
  5. 将帖子地址发至商业群,特别简单三言两语就能描述清楚的也可在答疑时间内发至商业群提问
  6. 发帖的时候一定要描述清楚,详细描述遇到问题的重现步骤报错详细信息相关代码与逻辑使用软件版本以及操作系统版本,否则随意发帖提问将会提高我们的答疑难度。

答疑时间

  • 工作日9:00 ~ 17:00 提供答疑,周末、节假日休息,暂停答疑
  • 请勿私聊提问,以免被其他用户的消息覆盖从而无法获得答疑
  • 答疑时间外遇到问题可以将问题发帖至技术社区,我们后续会逐个回复

授权范围

  • 专业版:只可用于个人学习个人私活项目,不可用于公司或团队,不可泄露给任何第三方
  • 企业版:可用于企业名下的任何项目,企业版员工在未购买专业版授权前,只授权开发所在授权企业名下的项目,不得将BladeX用于个人私活
  • 共同遵守若甲方需要您提供项目源码则需代为甲方购买BladeX企业授权甲方购买后续的所有项目都无需再次购买授权

商用权益

  • ✔️ 遵守商业协议的前提下将BladeX系列产品用于授权范围内的商用项目并上线运营
  • ✔️ 遵守商业协议的前提下,不限制项目数,不限制服务器数
  • ✔️ 遵守商业协议的前提下,将自行编写的业务代码申请软件著作权

何为侵权

  • 不遵守商业协议,私自销售商业源码
  • 以任何理由将BladeX源码用于申请软件著作权
  • 将商业源码以任何途径任何理由泄露给未授权的单位或个人
  • 开发完毕项目没有为甲方购买企业授权向甲方提供了BladeX代码
  • 基于BladeX拓展研发与BladeX有竞争关系的衍生框架并将其开源或销售

侵权后果

  • 情节较轻:第一次发现警告处理
  • 情节较重:封禁账号,踢出商业群,并保留追究法律责任的权利
  • 情节严重:与本地律师事务所合作,以公司名义起诉侵犯计算机软件著作权

举报有奖

  • 向官方提供有用线索并成功捣毁盗版个人或窝点,将会看成果给予 50010000 不等的现金奖励
  • 官方唯一指定QQ1272154962

🚀 自动化部署

Drone CI/CD 自动部署配置

本项目已配置 Drone CI/CD 实现代码推送后的全自动编译、部署流程。

📋 部署架构

开发者 Push 代码
    ↓
Gitea 仓库git.waypeak.work
    ↓ [Webhook 触发]
Drone CI Server154.30.6.21:8080
    ↓ [Runner 执行]
编译 BladeX 框架 → 编译后端项目 → SCP 传输 JAR → systemctl 重启服务 → 健康检查
    ↓
生产服务器部署完成154.30.6.21:8123

⚙️ 部署配置

服务器信息:

部署步骤(全自动):

  1. 编译完整项目约4-5分钟

    • 克隆 BladeX 框架代码martial-tool
    • 编译框架并安装到 Maven 本地仓库
    • 编译后端项目martial-master
    • 生成 blade-api.jar约236MB
  2. 传输构建产物约10-20秒

    • 使用 SCP 传输 JAR 文件到生产服务器
    • 目标路径: /app/martial-backend/bin/blade-api.jar
  3. 部署到生产环境约3秒

    • 执行 systemctl restart martial-backend
    • systemd 自动管理进程生命周期
    • 自动重启、日志管理、故障恢复
  4. 健康检查约45秒

    • 等待 Spring Boot 应用完全启动
    • 检查健康端点: /actuator/health
    • 验证部署成功

总耗时: 约 5-6 分钟

🔧 使用方法

日常开发流程:

# 1. 修改代码
vim src/main/java/...

# 2. 提交代码
git add .
git commit -m "你的提交信息"

# 3. 推送到 main 分支(自动触发部署)
git push origin main

# 4. 查看部署进度
# 访问 Drone UI: http://154.30.6.21:8080
# 或等待约 5-6 分钟后直接访问生产环境

部署完成后:

📂 配置文件

.drone.yml - Drone CI/CD 配置文件

steps:
  - name: 编译完整项目
    image: maven:3.9-eclipse-temurin-17
    commands:
      - git clone https://git.waypeak.work/martial/martial-tool.git
      - cd martial-tool && mvn clean install -DskipTests -q
      - cd /drone/src && mvn clean package -DskipTests

  - name: 传输构建产物
    image: appleboy/drone-scp
    settings:
      host: 154.30.6.21
      target: /app/martial-backend/bin/

  - name: 部署到生产环境
    image: appleboy/drone-ssh
    settings:
      script:
        - systemctl restart martial-backend

  - name: 健康检查
    image: curlimages/curl:latest
    commands:
      - sleep 45
      - curl -f http://154.30.6.21:8123/actuator/health

🔐 Systemd 服务配置

服务名称: martial-backend.service

# 查看服务状态
systemctl status martial-backend

# 查看日志
journalctl -u martial-backend -f

# 手动重启
systemctl restart martial-backend

# 日志文件位置
/app/martial-backend/logs/application.log
/app/martial-backend/logs/error.log

🛠️ 环境要求

生产服务器:

  • JDK 17 (通过 sdkman 管理)
  • MySQL 8.0 (端口: 33066)
  • Redis 7 (端口: 63379)
  • systemd 服务管理

CI/CD 服务器:

  • Drone Server + Drone Runner (Docker 部署)
  • Maven 3.9 + Eclipse Temurin JDK 17 (CI 容器镜像)

⚠️ 注意事项

  1. 仅 main 分支触发自动部署

    • 其他分支不会触发部署流程
    • 开发分支请使用 feature/* 或 dev 分支
  2. 部署失败排查

    # 查看 Drone 构建日志
    访问: http://154.30.6.21:8080
    
    # 查看应用日志
    ssh root@154.30.6.21
    tail -f /app/martial-backend/logs/application.log
    
    # 检查服务状态
    systemctl status martial-backend
    
  3. 手动回滚

    # 如需回滚到之前的版本
    # 1. 找到之前成功的 JAR 文件备份
    # 2. 替换当前 JAR
    # 3. 重启服务
    systemctl restart martial-backend
    

📊 部署历史

可通过 Drone UI 查看所有部署历史记录:


Description
No description provided
Readme 8.6 MiB
Languages
PLpgSQL 44.4%
Java 30.2%
TSQL 25.3%
HTML 0.1%