Files
martial-master/.drone.yml
n72595987@gmail.com 5ce4c4601d
Some checks failed
continuous-integration/drone/push Build encountered an error
添加 Drone CI/CD 自动化部署配置
1. 新增 .drone.yml 配置文件
   - 自动编译 BladeX 框架依赖
   - 自动编译后端项目并打包
   - 构建 Docker 镜像
   - 自动部署到生产服务器
   - 健康检查验证部署成功

2. 新增 Dockerfile
   - 基于 eclipse-temurin:17-jre 轻量镜像
   - 配置 JVM 参数优化内存使用
   - 添加健康检查端点
   - 支持多环境配置(dev/test/prod)

现在推送代码到 main 分支后,Drone CI 会自动:
- 编译项目
- 构建 Docker 镜像
- 部署到 154.30.6.21 服务器
- 执行健康检查

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:04:39 +08:00

114 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
kind: pipeline
type: docker
name: 武术系统后端自动部署
# 只在 main 分支触发
trigger:
branch:
- main
event:
- push
steps:
# 步骤1编译 BladeX 框架
- name: 编译框架依赖
image: maven:3.9-eclipse-temurin-17
volumes:
- name: maven-cache
path: /root/.m2
commands:
- echo "开始编译 BladeX 框架..."
- cd /drone/src/../martial-tool
- mvn clean install -DskipTests -q
- echo "✅ BladeX 框架编译完成"
# 步骤2编译后端项目
- name: 编译后端项目
image: maven:3.9-eclipse-temurin-17
volumes:
- name: maven-cache
path: /root/.m2
commands:
- echo "开始编译后端项目..."
- mvn clean package -DskipTests -Dmaven.test.skip=true
- ls -lh target/blade-api.jar
- echo "✅ 后端项目编译完成"
# 步骤3构建 Docker 镜像
- name: 构建Docker镜像
image: plugins/docker
settings:
registry: registry.cn-hangzhou.aliyuncs.com # 可选:使用阿里云镜像仓库
repo: martial/backend
tags:
- latest
- ${DRONE_COMMIT_SHA:0:8}
dockerfile: Dockerfile
# username: # 如果需要推送到私有仓库
# from_secret: docker_username
# password:
# from_secret: docker_password
# 步骤4部署到服务器
- name: 部署到生产环境
image: appleboy/drone-ssh
settings:
host: 154.30.6.21 # 部署服务器地址
username: root
key:
from_secret: ssh_key # 需要在 Drone 中配置 SSH 私钥
port: 22
script:
- cd /app/martial
- docker-compose pull backend
- docker-compose up -d backend
- docker ps | grep martial-backend
- echo "✅ 后端部署完成"
# 步骤5健康检查
- name: 健康检查
image: curlimages/curl:latest
commands:
- sleep 15 # 等待服务启动
- curl -f http://154.30.6.21:8123/actuator/health || exit 1
- echo "✅ 健康检查通过"
# 挂载卷(缓存 Maven 依赖,加速构建)
volumes:
- name: maven-cache
host:
path: /data/drone-cache/maven
# 构建通知(可选)
---
kind: pipeline
type: docker
name: 构建通知
trigger:
branch:
- main
status:
- success
- failure
steps:
- name: 发送通知
image: drillster/drone-email
settings:
host: smtp.qq.com # 邮件服务器
port: 465
from: your-email@qq.com
recipients:
- your-email@qq.com
username:
from_secret: email_username
password:
from_secret: email_password
when:
status:
- failure # 只在失败时发送邮件
depends_on:
- 武术系统后端自动部署