Skip to content

Deployment he

Marco edited this page Oct 10, 2026 · 10 revisions

🇬🇧 English

פריסה

NavAid הוא אתר סטטי שמורכב ומפורסם ל־GitHub Pages באמצעות .github/workflows/deploy.yml.

יעד כתובת
ייצור (main) https://navaid.supino.org/
staging (dev) https://navaid.supino.org/staging/

הדומיין המותאם מוגדר ב־docs/CNAME. הפריסה המהימנה ממפה את main/docs/ לשורש ואת dev/docs/ ל־/staging/.

Pull Request כן מתפרסם, בכתובת https://navaid.supino.org/pr/NNN/, והתהליך מוסיף את הקישור כתגובה ב־PR. הוא נבנה מחדש בכל דחיפה ואינו מאונדקס.

יש לקרוא את הכתובת הזו כ"הענף הזה, רץ על מקור הייצור". לתצוגה המקדימה יש מרחב שמות משלה ב־localStorage ואין לה service worker, אבל קידומת נתיב אינה גבול מקור: קוד מאותו מקור עדיין יכול להגיע למסלולים השמורים, להגדרות ולמפתחות ה־BYOK/Drive של האפליקציה החיה. פתחו תצוגה מקדימה כפי שהייתם מריצים את הענף מקומית — כלומר אחרי שהסתכלתם מה הוא עושה. אריחי המפה הם הדבר היחיד שאינו משותף: תצוגה מקדימה מושכת אותם מהמראה שלנו, לעולם לא מ־flight-maps.com (ראו שכבות מפה).

תהליך ענפים

כל שינוי מתחיל ב־Issue, נכתב בענף תכונה מ־dev מעודכן, ונכנס ב־PR אל dev. אין לדחוף ישירות ל־main או ל־dev. קידום גרסה מ־dev ל־main מתבצע ב־PR נפרד של המתחזקים.

שלבי התהליך

  1. lint בודק תחביר לכל JavaScript ב־docs/app וב־docs/i18n, וכן ל־docs/sw.js, ומאמת JSON/HTML/XML, איות וערכי cache-bust.
  2. build מרכיב ייצור ו־staging ומחליף ?v=, כתובות נתונים, גרסת סרגל ושם cache ב־SHA הקצר.
  3. ה־artifact כולל תצוגות מקדימות של PR מאותו מאגר. בדיקות E2E בודקות את התצוגה לאחר השכתוב ואת התאמת ה־SHA.
  4. הפריסה מפרסמת ייצור, staging ותצוגות מקדימות מתאימות. רשומת הפריסה ותגובת הבוט מציינות את ה־SHA שפורסם. PR ממאגר fork אינו מפורסם. להרשאות ותנאי ההפעלה המדויקים יש לעיין ב־workflow העדכני; התצוגה אינה מקור בדיקה מבודד.

בדיקות CI המלאות רצות מול שרת מקומי, מחולקות לשישה חלקים (gated ע"י הבדיקה הנדרשת e2e; ובפריסה e2e-deployed באותה צורה) — בארבעה, כל חלק רץ 16-19 דקות מול תקרה של 20, ויום של מריצים איטיים קטע את כולם. בדיקות ה־artifact בודקות בנפרד את הבתים לאחר השכתובים. rollback נעשה דרך Issue ו־PR מתוקן/הפוך, לא בדחיפה ישירה.

NavAid · 🇮🇱 עברית

For pilots

For developers


🇮🇱 עברית

לטייסים

למפתחים


🌐 Live 🧪 Staging 📦 Repo 💡 Ideas / bugs

Clone this wiki locally