Files
martial-master/.drone.yml
n72595987@gmail.com 319cfb4268
All checks were successful
continuous-integration/drone/push Build is passing
调整健康检查等待时间:15秒 → 45秒
问题:
- Build #9 所有步骤成功(编译、部署)
- 但健康检查失败(15秒等待不够)
- Spring Boot 应用需要约30-40秒完全启动

解决:
- 将健康检查等待时间调整为45秒
- 确保服务完全启动后再进行检查

验证:
- 手动测试服务正常运行
- http://154.30.6.21:8123/actuator/health 返回 UP

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 22:09:18 +08:00

99 lines
2.4 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
commands:
- echo "克隆 BladeX 框架代码..."
- cd /drone/src/..
- git clone https://git.waypeak.work/martial/martial-tool.git || echo "已存在,跳过克隆"
- echo "开始编译 BladeX 框架..."
- cd martial-tool
- mvn clean install -DskipTests -q
- echo "✅ BladeX 框架编译完成,已安装到 Maven 本地仓库"
- echo "开始编译后端项目..."
- cd /drone/src
- mvn clean package -DskipTests -Dmaven.test.skip=true
- ls -lh target/blade-api.jar
- echo "✅ 后端项目编译完成"
# 步骤2传输 JAR 文件到服务器
- name: 传输构建产物
image: appleboy/drone-scp
settings:
host: 154.30.6.21
username: root
key:
from_secret: ssh_key
port: 22
target: /app/martial-backend/bin/
source:
- target/blade-api.jar
strip_components: 1
# 步骤3重启后端服务
- name: 部署到生产环境
image: appleboy/drone-ssh
settings:
host: 154.30.6.21
username: root
key:
from_secret: ssh_key
port: 22
script:
- systemctl restart martial-backend
- sleep 3
- systemctl status martial-backend --no-pager
- echo "✅ 后端部署完成"
# 步骤4健康检查
- name: 健康检查
image: curlimages/curl:latest
commands:
- sleep 45 # 等待服务完全启动Spring Boot 应用需要约30-40秒
- curl -f http://154.30.6.21:8123/actuator/health || exit 1
- echo "✅ 健康检查通过"
# 构建通知(可选)
---
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:
- 武术系统后端自动部署