מדריך Deployment
סקירה כללית
Agentix נפרסת כשני שירותים:
| שירות | פלטפורמה | טריגר | Build |
|---|
| Web (Next.js frontend) | Vercel | Push אל main | next build |
| API (Express + BullMQ workers) | Railway | Push אל main | Docker build מתוך Dockerfile |
שני השירותים עולים אוטומטית עם push ל-main. המדריך הזה מכסה בדיקות לפני פריסה, תהליך הפריסה, מיגרציות, rollback, סבב secrets ואימות לאחר הפריסה.
מדריכים קשורים:
1. Checklist לפני פריסה
2. פריסת Vercel
פריסה אוטומטית
Push ל-main מפעיל build ו-deployment באופן אוטומטי.
- תהליך הבנייה:
cd apps/web → npm install → npx next build
- URL ייצור:
https://app.agentix.app
- לוגים: Vercel Dashboard > Project > Deployments
- אם build נכשל, הפריסה הקודמת נשארת פעילה
פריסה ידנית
npm install -g vercel
vercel --prod
3. פריסת Railway
פריסה אוטומטית
Push ל-main מפעיל build מתוך Dockerfile שבשורש המאגר.
- Railway מריצה build לשירות ה-API
- לאחר מכן מתבצעת בדיקת בריאות מול
/health
- אם הבדיקה נכשלת, Railway משאירה את הפריסה הקודמת פעילה
פריסה ידנית
npm install -g @railway/cli
railway login
railway link
railway up
4. מיגרציות מסד נתונים
הריצו מיגרציות כאשר יש שינויים ב-apps/api/prisma/migrations/.
לפני migration:
- צרו גיבוי ידני
- ודאו שהמיגרציה נוסתה ב-staging
- קבעו אם ה-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_SECRET | Railway | יצירת ערך חדש ו-redeploy ל-API |
CREDENTIAL_ENCRYPTION_KEY | Railway | החלפה מבוקרת, עם בדיקת תאימות לנתונים קיימים |
| API keys חיצוניים | Railway / Vercel | החלפה והפעלת smoke tests |
בצעו תמיד הנפקה של ערך חדש לפני שמבטלים את הישן, כדי להימנע מהשבתה מיותרת.
7. אימות לאחר פריסה
לאחר כל deploy:
- בדקו את
/health
curl https://api.agentix.app/health
- ודאו שאפשר להתחבר לאפליקציה
- ודאו שיצירת workflow וטעינת Inbox פועלות
- שלחו הודעת בדיקה דרך WhatsApp אם השינוי נוגע למסרים או workers
- בדקו את לוגי Railway ו-Vercel לשגיאות חריגות
8. תרחישים נפוצים
| בעיה | טיפול ראשוני |
|---|
| Web build נכשל | בדקו את deployment logs ב-Vercel |
| API health check נכשל | בדקו משתני סביבה, DB, Redis ולוגי startup |
| Migration חלקית | שחזרו מהגיבוי או בצעו forward fix |
| תקלת config בייצור | החזירו deployment יציב ועדכנו את ההגדרות |