CI/CD 流水线
# .github/workflows/deploy.yml
name: 自动化部署
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: 运行测试
run: npm test
- name: 代码检查
run: npm run lint
- name: 安全扫描
run: npm audit
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- name: 部署到服务器
run: |
ssh root@101.200.35.77 'cd /data/mksgame/web && git pull'
systemctl restart nginx
备份系统
#!/bin/bash
# 自动化备份脚本
BACKUP_DIR="/backup/ai-mksgame"
DATE=$(date +%Y%m%d_%H%M%S)
# 数据库备份
mysqldump -u root -p database > "$BACKUP_DIR/db_$DATE.sql"
# 文件备份
rsync -avz /data/mksgame/web/ "$BACKUP_DIR/files_$DATE/"
# 清理7天前的备份
find $BACKUP_DIR -mtime +7 -delete
# 上传到云存储
aws s3 sync $BACKUP_DIR s3://backups/ai-mksgame/