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

הגדרת סביבת Staging

סקירה כללית

סביבת staging מיועדת לבדוק שינויים לפני production. היא צריכה להיות מבודדת לחלוטין מהתשתית של הייצור. Agentix משתמשת ב:
  • Railway עבור API, PostgreSQL ו-Redis
  • Vercel עבור frontend previews

1. הגדרת Railway Staging

אפשרות מומלצת: Railway Environments

  1. התחברו ל-Railway CLI
    railway login
    railway link
    
  2. צרו environment בשם staging
    railway environment create staging
    
  3. עברו אליו:
    railway environment staging
    
  4. צרו PostgreSQL חדש
  5. צרו Redis חדש
  6. פרסו את שירות ה-API

אפשרות חלופית

אם environments לא זמינים, צרו שירותים נפרדים:
  • staging-api
  • staging-postgres
  • staging-redis

2. משתני סביבה ל-staging

אין להשתמש ב-DATABASE_URL או REDIS_URL של production בתוך staging.

API

משתנההערה
DATABASE_URLמסד staging בלבד
REDIS_URLRedis staging בלבד
FRONTEND_URLURL של Vercel staging
BETTER_AUTH_SECRETחייב להיות שונה מ-production
CREDENTIAL_ENCRYPTION_KEYחייב להיות שונה מ-production

Web

משתנההערה
NEXT_PUBLIC_API_URLחייב להצביע ל-staging API
Sentry / PostHog keysאפשר לשתף, רצוי עם tag של staging

3. הגדרת Vercel Preview / Staging

  1. ודאו ש-Vercel מחוברת למאגר
  2. השתמשו בענף staging או preview branch ייעודי
  3. הגדירו את משתני הסביבה לסביבת preview
  4. ודאו ש-NEXT_PUBLIC_API_URL מצביע ל-staging API

4. אימות מיגרציות ושינויים

לפני קידום ל-production:
  • deploy עבר בהצלחה ב-staging
  • המיגרציות רצות בלי שגיאות
  • /health תקין
  • התחברות עובדת
  • workflows ניתנים ליצירה ופרסום
  • אינטגרציות רלוונטיות פועלות

5. בדיקות smoke מומלצות

  1. login/logout
  2. טעינת Inbox
  3. יצירת workflow
  4. publish של workflow
  5. בדיקת WhatsApp test flow אם השינוי נוגע לערוצים
  6. בדיקת workers ו-queues

6. תקלות נפוצות

בעיהמה לבדוק
staging נוגע ב-production dataDATABASE_URL/REDIS_URL שגויים
frontend לא מדבר עם staging APINEXT_PUBLIC_API_URL שגוי
login session מוזרהsecret משותף ל-production
credentials לא ניתנים לפענוחCREDENTIAL_ENCRYPTION_KEY לא תואם