This repository has been archived on 2026-03-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-web/.gitea/workflows/deploy.yml
T
Workflow config file is invalid. Please check your config file: model.ReadWorkflow: yaml: line 50: mapping values are not allowed in this context
starmen1265 4532b29910
Test CI / 快速测试 (push) Failing after 1s
fix: 移除 actions/checkout 依赖,使用原生 git clone
- 避免需要 node 环境
- 直接使用 git clone 检出代码
- 简化 workflow 配置
2026-03-01 00:53:17 +08:00

84 lines
2.6 KiB
YAML

name: Deploy
on:
push:
branches: [main, develop]
workflow_dispatch:
inputs:
environment:
description: '部署环境'
required: true
default: 'staging'
type: choice
options:
- staging
- production
jobs:
# 部署到测试环境
deploy-staging:
name: 部署测试环境
runs-on: linux
if: github.ref == 'refs/heads/develop'
steps:
- name: 部署到测试服务器
run: |
echo "开始部署到测试环境..."
ssh -o StrictHostKeyChecking=no root@micecola.top << 'EOF'
cd /var/www/kb-web-test
# 备份
BACKUP_DIR="/var/www/kb-web-test-backups"
mkdir -p $BACKUP_DIR
CURRENT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
tar -czf "$BACKUP_DIR/backup_${CURRENT_COMMIT}_$(date +%Y%m%d_%H%M%S).tar.gz" . 2>/dev/null || true
# 更新代码
git fetch origin
git reset --hard origin/develop
# 安装依赖
composer install --no-dev --prefer-dist --no-interaction
# 设置权限
chown -R www-data:www-data . 2>/dev/null || true
echo "✅ 测试环境部署完成"
EOF
- name: 完成
run: echo "🚀 测试环境部署完成: http://micecola.top:8080"
# 部署到正式环境
deploy-production:
name: 部署正式环境
runs-on: linux
if: github.ref == 'refs/heads/main'
steps:
- name: 备份并部署
run: |
echo "开始部署到正式环境..."
ssh -o StrictHostKeyChecking=no root@micecola.top << 'EOF'
# 备份
BACKUP_DIR="/var/www/kb-web-prod-backups"
mkdir -p $BACKUP_DIR
cd /var/www/kb-web-prod
CURRENT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
tar -czf "$BACKUP_DIR/backup_${CURRENT_COMMIT}_$(date +%Y%m%d_%H%M%S).tar.gz" . 2>/dev/null || true
# 保留最近 10 个备份
cd $BACKUP_DIR && ls -t | tail -n +11 | xargs -r rm -f
# 部署
cd /var/www/kb-web-prod
git fetch origin
git reset --hard origin/main
composer install --no-dev --prefer-dist --no-interaction
chown -R www-data:www-data . 2>/dev/null || true
echo "✅ 正式环境部署完成"
EOF
- name: 完成
run: echo "🚀 正式环境部署完成: https://kb.micecola.top"