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

תיעוד 248

תמונת בנייה

לסביבת הבנייה של Cloudflare Pages יש תמיכה רחבה במגוון שפות, כגון Ruby, Node.js, Python, PHP ו-Go.

אם צריך להשתמש בגרסה מסוימת של שפה (לדוגמה, Node.js או Ruby), אפשר לציין אותה על ידי מתן משתנה סביבה מתאים בהגדרות הבנייה, או על ידי הגדרת הקובץ הרלוונטי בקוד המקור.

#שפות וכלים נתמכים

בטבלאות הבאות, עיינו בגרסאות המותקנות מראש לשפות ולכלים שנכללים בתמונת הבנייה של Cloudflare Pages, ובמשתני הסביבה ו/או בקבצים הזמינים לדריסת הגרסה המותקנת מראש:

#שפות וזמן ריצה

v3

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבהקובץ
Go1.24.3כל גרסהGO_VERSION
Node.js22.23.4כל גרסהNODE_VERSION.nvmrc, .node-version
Bun1.4.4כל גרסהBUN_VERSION
Python3.13.3כל גרסהPYTHON_VERSION.python-version, runtime.txt
Ruby3.4.4כל גרסהRUBY_VERSION.ruby-version

v2

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבהקובץ
Go1.21.0כל גרסהGO_VERSION
Node.js18.17.1כל גרסהNODE_VERSION.nvmrc, .node-version
Bun1.4.4כל גרסהBUN_VERSION
Python3.11.5כל גרסהPYTHON_VERSION.python-version, runtime.txt
Ruby3.2.2כל גרסהRUBY_VERSION.ruby-version

v1

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבהקובץ
Clojure
Elixir1.71.7 בלבד
Erlang2121 בלבד
Go1.14.4כל גרסהGO_VERSION
Java88 בלבד
Node.js12.18.0כל גרסהNODE_VERSION.nvmrc, .node-version
PHP5.65.6, 7.2, 7.4 בלבדPHP_VERSION
Python2.72.7, 3.5, 3.7 בלבדPYTHON_VERSIONruntime.txt, Pipfile
Ruby2.7.1כל גרסה בין 2.6.2 ל-2.7.5RUBY_VERSION.ruby-version
Swift5.2.5כל גרסת 5.xSWIFT_VERSION.swift-version
.NET3.1.302

כל גרסה

תחת גרסאות נתמכות, "כל גרסה" מתייחס לתמיכה בכל הגרסאות של השפה או הכלי, כולל גרסאות חדשות יותר מגרסת ברירת המחדל.

#כלים

v3

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבה
Bundler2.6.9תואם לגרסת Ruby
Embedded Dart Sass1.62.1עד 1.62.1EMBEDDED_DART_SASS_VERSION
gem3.6.9תואם לגרסת Ruby
Hugo0.147.7כל גרסהHUGO_VERSION
npm10.9.9תואם לגרסת Node.js
pip26.2.2תואם לגרסת Python
pipx1.7.1
pnpm10.11.1כל גרסהPNPM_VERSION
Poetry2.1.3
Yarn4.9.1כל גרסהYARN_VERSION
Zola0.22.1כל גרסהZOLA_VERSION

v2

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבה
Bundler2.4.10תואם לגרסת Ruby
Embedded Dart Sass1.62.1עד 1.62.1EMBEDDED_DART_SASS_VERSION
gem3.4.10תואם לגרסת Ruby
Hugo0.118.2כל גרסהHUGO_VERSION
npm9.6.7תואם לגרסת Node.js
pip26.2.2תואם לגרסת Python
pipx1.2.0
pnpm8.7.1כל גרסהPNPM_VERSION
Poetry1.6.1
Yarn3.6.3כל גרסהYARN_VERSION
Zola0.22.1כל גרסהZOLA_VERSION

v1

כליגרסת ברירת מחדלגרסאות נתמכותמשתנה סביבה
Boot2.5.22.5.2
Bower
Cask
Composer
Doxygen1.8.6
Emacs25
Gutenberg(נדרש משתנה סביבה)כל גרסהGUTENBERG_VERSION
Hugo0.54.0כל גרסהHUGO_VERSION
GNU Make3.8.1
ImageMagick6.7.7
jq1.5
Leiningen
OptiPNG0.6.4
npmתואם לגרסת Node.jsכל גרסהNPM_VERSION
pipתואם לגרסת Python
Pipenvהגרסה האחרונה
sqlite33.11.0
Yarn1.22.4כל גרסה מ-0.2.0 עד 1.22.19YARN_VERSION
Zola(נדרש משתנה סביבה)כל גרסה מ-0.5.0 ומעלהZOLA_VERSION

כל גרסה

תחת גרסאות נתמכות, "כל גרסה" מתייחס לתמיכה בכל הגרסאות של השפה או הכלי, כולל גרסאות חדשות יותר מגרסת ברירת המחדל.

#מסגרות

כדי להשתמש בגרסה מסוימת של מסגרת, ציינו אותה בקובץ ההגדרות של מנהל החבילות של הפרויקט. לדוגמה, אם משתמשים ב-Gatsby, הקובץ package.json צריך לכלול את הדברים הבאים:

"dependencies": {
	"gatsby": "^5.13.7",
}

כשהבנייה מתחילה, אם עדיין לא שמורה במטמון, גרסה 5.13.7 של Gatsby תותקן באמצעות npm install.

#הגדרות מתקדמות

#דריסת גרסאות ברירת מחדל

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

כדי להגדיר את הגרסה באמצעות משתני סביבה, אפשר:

  1. מצאו את שם משתנה הסביבה של השפה או הכלי בטבלה הזו.
  2. הוסיפו את משתנה הסביבה בלוח הבקרה על ידי מעבר אל Settings > Environment variables בפרויקט Pages, או הוסיפו את משתנה הסביבה באמצעות Wrangler.

או, כדי להגדיר את הגרסה על ידי הוספת קובץ לפרויקט, אפשר:

  1. מצאו את שם הקובץ של השפה או הכלי בטבלה הזו.
  2. הוסיפו את שם הקובץ שצוין לתיקיית השורש של הפרויקט, והוסיפו את מספר הגרסה הרצוי כתוכן הקובץ.

לדוגמה, אם בעבר הסתמכתם על גרסת ברירת המחדל של Node.js במערכת הבנייה v1, כדי לעבור ל-v2, חובה לציין שצריך את Node.js 12.18.0 על ידי הגדרת משתנה סביבה NODE_VERSION = 12.18.0, או על ידי הוספת קובץ .node-version או .nvmrc לפרויקט עם 12.18.0 כתוכן הקובץ.

#דילוג על התקנת תלויות

אפשר להוסיף את משתנה הסביבה הבא כדי לבטל התקנה אוטומטית של תלויות, ולהריץ במקום זאת פקודת התקנה מותאמת.

משתנה בנייהערך
SKIP_DEPENDENCY_INSTALL1 או true

#מערכת הבנייה v3

מערכת הבנייה v3 מעדכנת את הכלים, הספריות והשפות שבברירת המחדל לגרסאות ה-LTS שלהן, נכון למאי 2025.

#מעבר מ-v2 ל-v3

כדי לעבור לגרסה החדשה הזו, הגדירו את הגדרות פרויקט Pages בלוח הבקרה:

  1. בלוח הבקרה של Cloudflare, עברו אל הדף Workers & Pages. מעבר אל Workers & Pages ↗
  2. בחרו את פרויקט Pages.
  3. עברו אל Deployments > All deployments > ובחרו את הגרסה האחרונה.

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

#מגבלות

התכונות הבאות אינן נתמכות כרגע בשימוש במערכת הבנייה v3:

  • ציון גרסאות Node.js כשמות קוד (לדוגמה, hydrogen או lts/hydrogen).
  • זיהוי גרסת Yarn מגרסת הקובץ yarn.lock.
  • זיהוי גרסת pnpm מגרסת הקובץ pnpm-lock.yaml.
  • זיהוי Node.js ומנהלי חבילות מ-package.json -> "engines".
  • תמיכה ב-pipenv וב-Pipfile.

#סביבת בנייה

בניות של Cloudflare Pages רצות בקונטיינר gVisor ↗︎.

v3

סביבת בנייהUbuntu 22.04.2
ארכיטקטורהx86_64

v2

סביבת בנייהUbuntu 22.04.2
ארכיטקטורהx86_64

v1

סביבת בנייהUbuntu 20.04.5
ארכיטקטורהx86_64

#אישורים מהימנים

פקודות הבנייה משתמשות באישורי ה-CA המותקנים בתמונת הבנייה בנתיב /etc/ssl/certs/ca-certificates.crt. Pages מגדיר את משתני הסביבה הבאים כדי שסביבות ריצה עם אישורי CA משלהן, הארוזים יחד איתן, ישתמשו גם בהם, כולל גרסאות ישנות יותר שבוחרים באמצעות דריסת גרסה:

משתנה סביבהערך
SSL_CERT_FILE/etc/ssl/certs/ca-certificates.crt
PIP_CERT/etc/ssl/certs/ca-certificates.crt
REQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crt
NODE_OPTIONS--use-openssl-ca

אם מגדירים אחד מהמשתנים האלה כמשתנה סביבה בפרויקט, הערך שלכם מחליף את ברירת המחדל. --use-openssl-ca נוסף ל-NODE_OPTIONS שלכם, אלא אם הוא כבר מכיל --use-openssl-ca או --use-bundled-ca.

#מדיניות תמונת הבנייה

#הוצאה משימוש של גרסת תמונת הבנייה

אם משתמשים כרגע בתמונת הבנייה v1 או v2, הפרויקט יועבר אוטומטית ל-v3:

  • תמונת בנייה v1: אם משתמשים בתמונת הבנייה v1 של Pages, הפרויקט יועבר אוטומטית ל-v3 ב-15 בספטמבר 2026.
  • תמונת בנייה v2: אם משתמשים בתמונת הבנייה v2 של Pages, הפרויקט יועבר אוטומטית ל-v3 ב-23 בפברואר 2027.

תקבלו הודעה 6 חודשים לפני תאריך ההוצאה משימוש דרך יומן השינויים של Cloudflare ↗︎, התראות בלוח הבקרה, ודואר אלקטרוני.

מכאן והלאה, תמונת הבנייה v3 תקבל עדכונים מתגלגלים לתוכנה המותקנת מראש לפי המדיניות שלהלן. לא יהיו עוד שינויי גרסה של תמונת הבנייה.

#עדכוני תוכנה מותקנת מראש

תוכנה מותקנת מראש (שפות וכלים) תעודכן לפני הגעה לסוף החיים (EOL). העדכונים האלה חלים רק אם לא דרסתם את גרסת ברירת המחדל.

  • עדכוני גרסת משנה: עשויים להתעדכן לגרסת המשנה האחרונה הזמינה בלי הודעה מוקדמת. לכלים שאינם עוקבים אחרי גרסאות סמנטיות (לדוגמה, Bun או Hugo), עדכונים שעשויים לכלול שינויים שוברים יקבלו הודעה של 3 חודשים.
  • עדכוני גרסה ראשית: מעודכנים לגרסת התמיכה ארוכת הטווח (LTS) היציבה הבאה עם הודעה של 3 חודשים.

איך תקבלו הודעה (לשינויים שדורשים הודעה):

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

#שיטות עבודה מומלצות

כדי להימנע מכשלי בנייה לא צפויים: