הגדרת שירותי Cloud Run ו-Cloud Functions

אתם יכולים להשתמש במשתני הסביבה הבאים כדי להגדיר את התנהגות השירותים כשפורסים אותם ב-Cloud Run או ב-Cloud Functions.

איך מגדירים את משתני הסביבה בקובץ האימג' של הקונטיינר?

להגדרות מפורטות לפי שפה:

משתני הסביבה של Cloud Run ושל Cloud Functions

ההגדרות הבאות תומכות ביצירת השירותים גם לאפליקציות וגם לפונקציות. תוכלו להיעזר גם במשתני הסביבה הנוספים של Cloud Functions שבהמשך.

GOOGLE_ENTRYPOINT

זו הפקודה שתבוצע כשהקונטיינר יופעל. היא מקבילה ל-enterpoint בקובץ Docker.

  • דוגמאות:
    • Java:‏ java -jar target/myjar.jar
    • PHP:‏ php -S 0.0.0.0:8080 index.php
    • Python:‏ gunicorn -p :8080 main:app

GOOGLE_RUNTIME

כך מאלצים את סביבת זמן הריצה לאישור. אם קובץ האימג' של ה-buildpack בסביבת זמן הריצה מופיע במספר קבוצות, הקובץ מהקבוצה הראשונה משמש את כל הקבוצות.

דוגמה לשימוש ב-Node.js: הערך nodejs מאלץ את סביבת זמן הריצה של buildpack ב-Node.js לאשר.

GOOGLE_RUNTIME_VERSION

זו הגרסה של סביבת זמן הריצה שתותקן. ב-‎.NET צריך לציין את גרסת ה-SDK של ‎.NET.

דוגמאות:

  • Go:‏ 1.14.1
  • Java:‏ 8
  • Node.js:‏ 13.7.0
  • ‎.NET:‏ 3.1.301

GOOGLE_BUILDABLE

בסביבות זמני הריצה של Go,‏ Java‏, ‏Dart ו-‎NET. זה הנתיב ליצירת החבילה.

לדוגמה: הערך ./maindir יוצר את החבילה ברמה הבסיסית (Root) ב-maindir.

GOOGLE_BUILD_ARGS

בסביבות זמני הריצה של Java (‏Maven ו-Gradle) ושל ‎Net. צריך להוסיף את הארגומנטים כדי ליצור את הפקודה.

דוגמה ל-Java: הערך -Pprod מפעיל את mvn clean package ... -Pprod.

GOOGLE_DEVMODE

ב-Skaffold: הפעלת ה-buildpacks של מצב הפיתוח. משתמשים בפיתוח מקומי בזמן אמת כדי להפעיל קונטיינר אוטומטי שנוצר מחדש בהתאם לשינויים בקוד המקור. צריך להתקין את Skaffold ולהריץ את skaffold dev.

  • ערכים נתמכים: true,‏ True,‏ 1

GOOGLE_CLEAR_SOURCE

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

ערכים נתמכים: true,‏ True או 1

משתני סביבה נוספים של Cloud Functions

ההגדרות הבאות זמינות רק לקוד מקור שנוצר כפונקציות שמשתמשות ב-Functions Framework וב-Cloud Functions. בחוזה תוכלו לקרוא פרטים נוספים על אפשרויות ההגדרה האלה.

GOOGLE_FUNCTION_TARGET

  • זה השם של הפונקציה שמיוצאת ותופעל בתגובה לבקשות.
  • לדוגמה: הערך myFunction יגרום ל-Functions Framework להפעיל את הפונקציה בשם הזה.

GOOGLE_FUNCTION_SIGNATURE_TYPE

  • זו החתימה שמשמשת את הפונקציה.
  • לדוגמה: http,‏ event או cloudevent.

GOOGLE_FUNCTION_SOURCE

  • זה השם של הספרייה או הקובץ עם המקור של הפונקציה, בהתאם לשפה.
  • (רלוונטי רק לחלק מהשפות. יש לעיין במסמכים הספציפיים של השפה).
  • לדוגמה: function.py ל-Python.