Files
martial-web/.drone.yml
n72595987@gmail.com a65daba7a9
All checks were successful
continuous-integration/drone/push Build is passing
fix: 修复 Drone 部署步骤使用正确的 Dockerfile
- 使用 Dockerfile.deploy 而非默认 Dockerfile
- 直接使用 docker run 而不是 docker-compose(避免依赖问题)
- 强制删除旧容器后创建新容器(确保使用新镜像)
- 修复镜像构建后容器没有更新的问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 00:05:01 +08:00

70 lines
1.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安装依赖
- name: 安装依赖
image: node:18-alpine
commands:
- echo "开始安装 npm 依赖..."
- npm install
- echo "✅ 依赖安装完成"
# 步骤2构建生产版本
- name: 构建前端项目
image: node:18-alpine
commands:
- echo "开始构建前端项目..."
- npm run build
- ls -lh dist/
- echo "✅ 前端构建完成"
# 步骤3传输文件到服务器
- name: 传输构建产物
image: appleboy/drone-scp
settings:
host: 154.30.6.21
username: root
key:
from_secret: ssh_key
port: 22
target: /app/martial/frontend-build
source:
- dist/*
- Dockerfile
- nginx.conf
strip_components: 0
# 步骤4在服务器上构建镜像并部署
- name: 部署到生产环境
image: appleboy/drone-ssh
settings:
host: 154.30.6.21
username: root
key:
from_secret: ssh_key
port: 22
script:
- cd /app/martial/frontend-build
- docker build -f Dockerfile.deploy -t martial/frontend:latest .
- docker rm -f martial-frontend || true
- docker run -d --name martial-frontend --restart always -p 5173:80 --network martial_martial-network -e TZ=Asia/Shanghai martial/frontend:latest
- docker ps | grep martial-frontend
- echo "✅ 前端部署完成"
# 步骤5健康检查
- name: 健康检查
image: curlimages/curl:latest
commands:
- sleep 5
- curl -f http://154.30.6.21/ || exit 1
- echo "✅ 前端访问正常"