דלג לתוכן הראשי

מדריך Deployment

סקירה כללית

Agentix נפרסת כשני שירותים:
שירותפלטפורמהטריגרBuild
Web (Next.js frontend)VercelPush אל mainnext build
API (Express + BullMQ workers)RailwayPush אל mainDocker build מתוך Dockerfile
שני השירותים עולים אוטומטית עם push ל-main. המדריך הזה מכסה בדיקות לפני פריסה, תהליך הפריסה, מיגרציות, rollback, סבב secrets ואימות לאחר הפריסה. מדריכים קשורים:

1. Checklist לפני פריסה

  • כל שלבי ה-CI על main עברו בהצלחה
  • אם שונתה סכימת המסד, המיגרציה נבדקה קודם ב-staging
  • כל משתני הסביבה החדשים הוגדרו גם ב-Vercel וגם ב-Railway
  • staging אושר בהצלחה לפני קידום ל-production
  • אם יש breaking API changes, תואם סדר פריסה בין ה-API ל-Web
  • אם יש migration, נוצר גיבוי ידני לפני הפריסה

2. פריסת Vercel

פריסה אוטומטית

Push ל-main מפעיל build ו-deployment באופן אוטומטי.
  1. תהליך הבנייה:
    cd apps/web → npm install → npx next build
    
  2. URL ייצור: https://app.agentix.app
  3. לוגים: Vercel Dashboard > Project > Deployments
  4. אם build נכשל, הפריסה הקודמת נשארת פעילה

פריסה ידנית

npm install -g vercel
vercel --prod

3. פריסת Railway

פריסה אוטומטית

Push ל-main מפעיל build מתוך Dockerfile שבשורש המאגר.
  1. Railway מריצה build לשירות ה-API
  2. לאחר מכן מתבצעת בדיקת בריאות מול /health
  3. אם הבדיקה נכשלת, Railway משאירה את הפריסה הקודמת פעילה

פריסה ידנית

npm install -g @railway/cli
railway login
railway link
railway up

4. מיגרציות מסד נתונים

הריצו מיגרציות כאשר יש שינויים ב-apps/api/prisma/migrations/. לפני migration:
  1. צרו גיבוי ידני
  2. ודאו שהמיגרציה נוסתה ב-staging
  3. קבעו אם ה-API החדש תלוי בסכימה החדשה
אם ה-migration נכשל:
  • אל תבצעו rollback לקוד לפני שבודקים התאמה לסכימה
  • שקלו restore מהגיבוי
  • תעדו את נקודת הכשל המדויקת

5. Rollback

Web

  • בחרו deployment קודם מתוך Vercel Deployments
  • בצעו redeploy של הגרסה היציבה האחרונה

API

  • בחרו deployment קודם ב-Railway או החזירו commit קודם
  • ודאו ש-/health תקין לפני קידום חזרה

Database

  • אם הסכימה החדשה כבר יושמה, בדקו אם אפשר לבצע forward fix
  • אם צריך שחזור מלא, השתמשו ב-מדריך גיבוי ושחזור

6. סבב Secrets

במקרה של סבב secrets:
Secretאיפהפעולה
BETTER_AUTH_SECRETRailwayיצירת ערך חדש ו-redeploy ל-API
CREDENTIAL_ENCRYPTION_KEYRailwayהחלפה מבוקרת, עם בדיקת תאימות לנתונים קיימים
API keys חיצונייםRailway / Vercelהחלפה והפעלת smoke tests
בצעו תמיד הנפקה של ערך חדש לפני שמבטלים את הישן, כדי להימנע מהשבתה מיותרת.

7. אימות לאחר פריסה

לאחר כל deploy:
  1. בדקו את /health
    curl https://api.agentix.app/health
    
  2. ודאו שאפשר להתחבר לאפליקציה
  3. ודאו שיצירת workflow וטעינת Inbox פועלות
  4. שלחו הודעת בדיקה דרך WhatsApp אם השינוי נוגע למסרים או workers
  5. בדקו את לוגי Railway ו-Vercel לשגיאות חריגות

8. תרחישים נפוצים

בעיהטיפול ראשוני
Web build נכשלבדקו את deployment logs ב-Vercel
API health check נכשלבדקו משתני סביבה, DB, Redis ולוגי startup
Migration חלקיתשחזרו מהגיבוי או בצעו forward fix
תקלת config בייצורהחזירו deployment יציב ועדכנו את ההגדרות