תיעוד 249
נתיבי מעקב לבנייה
כשמחברים מאגר git ל-Pages, כברירת מחדל שינוי בכל קובץ במאגר יפעיל בנייה של Pages. אפשר להגדיר את Pages כך שיכלול או יחריג נתיבים מסוימים, כדי לציין אם Pages צריך לדלג על בנייה עבור נתיב נתון. זה יכול לעזור במיוחד אם משתמשים במבנה פרויקט monorepo ורוצים להגביל את כמות הבניות שמופעלות.
#הגדרת נתיבים
כדי להגדיר אילו נתיבים נכללים ואילו מוחרגים:
- עברו אל Workers & Pages בלוח הבקרה של Cloudflare. מעבר אל Workers & Pages ↗
- מצאו את פרויקט Pages שלכם.
- עברו אל Settings > Build > Build watch paths. Pages יגדיר כברירת מחדל את נתיבי ה-includes של הפרויקט להכל ([*]) ואת נתיבי ה-excludes לכלום (
[]).
אפשר למלא את שדות ההגדרה בשתי דרכים:
- נתיבי קבצים סטטיים: הזינו את השם המדויק של הקובץ שאתם רוצים לכלול או להחריג (לדוגמה,
docs/README.md). - תחביר תו כללי: השתמשו בתווים כלליים כדי להתאים למספר נתיבים. אפשר לציין תווים כלליים בתחילת הכלל או בסופו.
תחביר תו כללי
תו כללי (*) מתאים לאפס תווים או יותר, כולל מפרידי נתיב (/). המשמעות היא שתו * יחיד בסוף תבנית נתיב יתאים גם לקבצים בתת-ספריות מקוננות. לדוגמה:
docs/*מתאים ל-docs/README.md, ל-docs/guides/setup.mdול-docs/guides/advanced/config.md.*.mdמתאים ל-README.md, ל-docs/README.mdול-src/content/guide.md.*לבדו מתאים לכל הקבצים במאגר.
לכל נתיב באירוע push, נתיבי המעקב לבנייה יוערכו כך:
- נתיבים שעומדים בתנאי החרגה מתעלמים מהם קודם
- כל הנתיבים הנותרים נבדקים מול תנאי הכללה
- אם נמצא נתיב תואם כלשהו, מופעלת בנייה. אחרת הבנייה מדולגת
Pages יעקוף את התאמת הנתיבים עבור אירוע push ויבנה את הפרויקט כברירת מחדל אם:
- אירוע push מכיל 0 שינויי קבצים, למקרה שמשתמש דוחף אירוע push ריק כדי להפעיל בנייה
- אירוע push מכיל 3000+ שינויי קבצים או 20+ commits
#דוגמאות
#הפעלת בניות עבור ספריות מסוימות (monorepo)
אם אתם רוצים להפעיל בנייה רק כשקובצים משתנים בתוך ספריות מסוימות, כגון project-a/ ו-packages/. מכיוון ש-* מתאים מעבר למפרידי נתיב, זה כולל שינויים בתת-ספריות מקוננות כמו project-a/src/index.js או packages/utils/lib/helpers.ts.
- נתיבי הכללה:
project-a/*, packages/* - נתיבי החרגה: ``
#החרגת ספרייה מהפעלת בניות
אם אתם רוצים להפעיל בנייה עבור כל שינוי, אבל רוצים להחריג שינויים בספרייה מסוימת, כגון כל השינויים בספריית docs/ (כולל נתיבים מקוננים כמו docs/guides/setup.md).
- נתיבי הכללה:
* - נתיבי החרגה:
docs/*
#הפעלת בניות עבור סוג קובץ מסוים
אם אתם רוצים להפעיל בנייה עבור קובץ מסוים או סוג קובץ מסוים, לדוגמה כל קובצי .md בכל מקום במאגר.
- נתיבי הכללה:
*.md - נתיבי החרגה: ``
#הפעלת בניות עבור ספרייה אבל החרגת תת-ספרייה
אם אתם רוצים להפעיל בנייה עבור שינויים ב-src/ אבל רוצים להתעלם משינויים ב-src/tests/.
- נתיבי הכללה:
src/* - נתיבי החרגה:
src/tests/*