From fdf3aea2e3795a80e40a6625b480a3fd1bcc39e1 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 3 Dec 2025 03:58:08 +0300 Subject: [PATCH] fixes --- .forgejo/workflows/deploy-admin.yaml | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .forgejo/workflows/deploy-admin.yaml diff --git a/.forgejo/workflows/deploy-admin.yaml b/.forgejo/workflows/deploy-admin.yaml new file mode 100644 index 0000000..7aeb308 --- /dev/null +++ b/.forgejo/workflows/deploy-admin.yaml @@ -0,0 +1,87 @@ +name: Deploy Admin Panel + +on: + workflow_dispatch: + push: + branches: + - master + paths: + - 'mnemo_cards_admin/**' + +jobs: + deploy-admin: + name: Deploy Admin Panel + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install Dependencies + run: | + apt-get update && apt-get install -y rsync openssh-client + + - name: Setup SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts + + - name: Build Admin Panel + run: | + echo "🔨 Building admin panel..." + cd mnemo_cards_admin/web + npm install + npm run build + echo "✅ Admin panel built successfully" + + - name: Deploy Admin Panel + run: | + echo "🚀 Deploying admin panel..." + cd tools/deploy/admin + ./deploy.sh + + verification: + name: Admin Panel Verification + runs-on: ubuntu-latest + needs: deploy-admin + if: always() + steps: + - name: Setup SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts + + - name: Verify Admin Panel + run: | + echo "🔍 Verifying admin panel deployment..." + ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -o ConnectTimeout=30 -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'ENDSSH' + set -e + + # Check nginx status + if sudo systemctl is-active --quiet nginx; then + echo "✅ nginx: работает" + else + echo "❌ nginx: НЕ работает!" + sudo systemctl status nginx --no-pager || true + exit 1 + fi + + # Test admin panel accessibility + if curl -I --max-time 10 https://admin.mnemo-cards.online/ 2>/dev/null | grep -q "200\|301\|302"; then + echo "✅ admin.mnemo-cards.online доступен" + else + echo "❌ admin.mnemo-cards.online НЕДОСТУПЕН!" + curl -I --max-time 5 https://admin.mnemo-cards.online/ || true + exit 1 + fi + + echo "🎉 Admin panel verification completed successfully!" + ENDSSH