מדריך קלאודפלייר בעברית

תיעוד 47

התקנת חבילות פרטיות

Cloudflare Pages תומך ברישומי חבילות מותאמים, ומאפשר לכלול תלויות פרטיות באפליקציה. ההדרכה הזו מתמקדת ב-npm, מנהל החבילות והרישום של Node, אבל אפשר ליישם את אותה גישה גם בכלי רישום אחרים.

תצטרכו לעדכן את משתני הסביבה בהגדרות הפרויקט ב-Pages, תחת Settings. אפשר לשנות אתר קיים בכל עת, ואפשר גם לאתחל פרויקטים חדשים עם ההגדרות האלה. בכל מקרה, שינוי הגדרות הפרויקט יבוא לידי ביטוי רק בפריסה הבאה.

זהירות: אחרי כל שינוי בהגדרות, ודאו שמפעילים פריסה חדשה.

#אסימון גישה לרישום

כל רישום חבילות אמור לאפשר הנפקת אסימוני גישה חדשים. רצוי ליצור אסימון חדש במיוחד עבור Pages, כמו בכל פלטפורמת CI/CD אחרת.

ב-npm אפשר ליצור ולצפות באסימונים דרך האתר, או להשתמש ב-CLI של npm. אם ה-CLI מוגדר אצלכם מקומית ואתם מאומתים, הריצו בטרמינל את הפקודות הבאות:

# Verify the current npm user is correct
npm whoami

# Create a readonly token
npm token create --read-only
#-> Enter password, if prompted
#-> Enter 2FA code, if configured

הפקודות האלה ייצרו אסימון לקריאה בלבד שנראה כמו מחרוזת UUID. שמרו את הערך הזה לשלב מאוחר יותר.

#מודולים פרטיים ברישום npm

הסעיף הבא רלוונטי למשתמשים עם אפליקציות שמשתמשות רק במודולים פרטיים מרישום npm.

בפרויקט Pages, תחת Settings > Environment variables, הוסיפו משתנה סביבה חדש בשם NPM_TOKEN לסביבות Production ו-Preview, והדביקו כערך את האסימון לקריאה בלבד שיצרתם.

זהירות: הוסיפו את המשתנה NPM_TOKEN גם לסביבת Production וגם לסביבת Preview.

כברירת מחדל, npm מחפש משתנה סביבה בשם NPM_TOKEN. מכיוון שלא הגדרתם נקודת קצה מותאמת לרישום, מניחים שמדובר ברישום npm. פיתוח מקומי אמור להמשיך לעבוד כרגיל, בתנאי שאתם וחברי הצוות מאומתים עם חשבונות npm (ראו npm whoami ו-npm login) שיש להם גישה לחבילות הפרטיות.

#נקודות קצה מותאמות לרישום

כשמשתמשים בכמה רישומים, הפרויקט יצטרך להגדיר קובץ תצורה ברמת השורש בשם .npmrc. דוגמה לקובץ .npmrc:

@foobar:registry=https://npm.pkg.github.com
//registry.npmjs.org/:_authToken=${TOKEN_FOR_NPM}
//npm.pkg.github.com/:_authToken=${TOKEN_FOR_GITHUB}

כאן, כל החבילות תחת ה-scope @foobar מופנות לרישום GitHub Packages. אחר כך לכל רישום משויך אסימון גישה משלו, לפי שמות משתני הסביבה המתאימים.

הערה: צריך להגדיר אסימון גישה לרישום npm (ראו TOKEN_FOR_NPM בדוגמה) רק אם הוא מארח חבילות פרטיות שהאפליקציה דורשת.

בפרויקט Pages חייבים להגדיר את משתני הסביבה התואמים לכל הסביבות. בדוגמה שלנו, זה אומר ש-TOKEN_FOR_NPM חייב להכיל את ערך אסימון npm לקריאה בלבד, ו-TOKEN_FOR_GITHUB חייב להכיל אסימון גישה אישי משלו.

#ניהול כמה סביבות

אם הפיתוח המקומי מפסיק לעבוד עם קובץ .npmrc החדש, תצטרכו לבצע כמה שינויים נוספים:

  1. שנו את שם קובץ .npmrc שמתאים ל-Pages ל-.npmrc.pages. הקובץ הזה אמור להתייחס למשתני סביבה.
  2. שחזרו את קובץ .npmrc הקודם: הגרסה שעבדה קודם לכם ולחברי הצוות.
  3. עברו אל Workers & Pages בלוח הבקרה של Cloudflare. מעבר אל Workers & Pages
  4. בחרו את פרויקט Pages.
  5. עברו אל Settings > Environment variables, הוסיפו משתנה סביבה חדש בשם NPM_CONFIG_USERCONFIG והגדירו את ערכו ל-/opt/buildhome/repo/.npmrc.pages. אם קובץ .npmrc.pages לא נמצא בתיקיית השורש של הפרויקט, התאימו את הנתיב בהתאם.