Files
sase.tr/.github/workflows/deploy.yml
Sase Dev 7194393e6d feat: SEO altyapısı — pre-render, meta tags, blog posts, robots/sitemap
- vite-plugin-prerender yerine Playwright tabanlı post-build pre-render scripti
  (apps/web/scripts/prerender.mjs): 10 public route statik HTML'e dönüştürülüyor
- usePageMeta hook: her public route'da özgün title/description/canonical/OG tags
- index.html: favicon.svg, canonical, OG/Twitter Card, geliştirilmiş title+desc
- apps/web/public/: robots.txt, sitemap.xml (10 URL), favicon.svg
- nginx HSTS header eklendi (Strict-Transport-Security)
- Blog post sayfaları: blog_/$slug.tsx (4 tam yazı, 600-800 kelime)
- blog.tsx: post kartlarına Link eklendi
- Homepage: Schema.org JSON-LD (Organization + SoftwareApplication)
- Footer: placeholder href="#" sosyal linkler kaldırıldı
- deploy.sh + deploy.yml: playwright install chromium + prerender adımı

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:15:35 +00:00

59 lines
1.8 KiB
YAML

name: Deploy
on:
push:
branches: [main]
concurrency:
group: deploy-production
cancel-in-progress: false
jobs:
deploy:
name: Deploy to Production
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.SSH_PORT }}
script_stop: true
script: |
set -euo pipefail
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
cd /home/${{ secrets.SSH_USER }}/ss
echo "$(date '+%Y-%m-%d %H:%M:%S') - Starting deployment..."
echo "$(date '+%Y-%m-%d %H:%M:%S') - Pulling latest changes..."
git pull origin main
echo "$(date '+%Y-%m-%d %H:%M:%S') - Installing dependencies..."
pnpm install --frozen-lockfile
echo "$(date '+%Y-%m-%d %H:%M:%S') - Building..."
pnpm build
echo "$(date '+%Y-%m-%d %H:%M:%S') - Installing Playwright Chromium (if missing)..."
cd apps/web && npx playwright install chromium --with-deps 2>/dev/null || true
echo "$(date '+%Y-%m-%d %H:%M:%S') - Pre-rendering public pages..."
pnpm prerender || echo "WARNING: Pre-render failed (non-fatal)"
cd /home/${{ secrets.SSH_USER }}/ss
echo "$(date '+%Y-%m-%d %H:%M:%S') - Running database migrations..."
cd apps/api && pnpm db:push && cd ../..
echo "$(date '+%Y-%m-%d %H:%M:%S') - Reloading PM2 processes..."
pm2 reload ecosystem.config.js
echo "$(date '+%Y-%m-%d %H:%M:%S') - Deployment complete!"