הגדרת סביבת Staging
סקירה כללית
סביבת staging מיועדת לבדוק שינויים לפני production. היא צריכה להיות מבודדת לחלוטין מהתשתית של הייצור.
Agentix משתמשת ב:
- Railway עבור API, PostgreSQL ו-Redis
- Vercel עבור frontend previews
1. הגדרת Railway Staging
אפשרות מומלצת: Railway Environments
- התחברו ל-Railway CLI
railway login
railway link
- צרו environment בשם
staging
railway environment create staging
- עברו אליו:
railway environment staging
- צרו PostgreSQL חדש
- צרו Redis חדש
- פרסו את שירות ה-API
אפשרות חלופית
אם environments לא זמינים, צרו שירותים נפרדים:
staging-api
staging-postgres
staging-redis
2. משתני סביבה ל-staging
אין להשתמש ב-DATABASE_URL או REDIS_URL של production בתוך staging.
API
| משתנה | הערה |
|---|
DATABASE_URL | מסד staging בלבד |
REDIS_URL | Redis staging בלבד |
FRONTEND_URL | URL של 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
- ודאו ש-Vercel מחוברת למאגר
- השתמשו בענף
staging או preview branch ייעודי
- הגדירו את משתני הסביבה לסביבת preview
- ודאו ש-
NEXT_PUBLIC_API_URL מצביע ל-staging API
4. אימות מיגרציות ושינויים
לפני קידום ל-production:
5. בדיקות smoke מומלצות
- login/logout
- טעינת Inbox
- יצירת workflow
- publish של workflow
- בדיקת WhatsApp test flow אם השינוי נוגע לערוצים
- בדיקת workers ו-queues
6. תקלות נפוצות
| בעיה | מה לבדוק |
|---|
| staging נוגע ב-production data | DATABASE_URL/REDIS_URL שגויים |
| frontend לא מדבר עם staging API | NEXT_PUBLIC_API_URL שגוי |
| login session מוזרה | secret משותף ל-production |
| credentials לא ניתנים לפענוח | CREDENTIAL_ENCRYPTION_KEY לא תואם |