אתם יכולים להשתמש במשתני הסביבה הבאים כדי להגדיר את התנהגות השירותים כשפורסים אותם ב-Cloud Run או בפונקציות Cloud Run.
איך מגדירים את משתני הסביבה בקובץ האימג' של הקונטיינר?
להגדרות מפורטות לפי שפה:
משתני הסביבה של Cloud Run ושל פונקציות Cloud Run
ההגדרות הבאות תומכות ביצירת השירותים גם לאפליקציות וגם לפונקציות. משתני סביבה נוספים של פונקציות Cloud Run מפורטים במאמר משתני סביבה נוספים של פונקציות Cloud Run.
GOOGLE_ENTRYPOINT
זו הפקודה שתבוצע כשהקונטיינר יופעל. היא מקבילה ל-enterpoint בקובץ Docker.
דוגמאות:
פריסה מקוד המקור ב-Cloud Run
- Java:
java -jar target/myjar.jar - PHP:
php -S 0.0.0.0:8080 index.php - Python:
ה-buildpack של Python מגדיר את נקודת הכניסה שמשמשת כברירת מחדל לפריסות של מקורות ב-Cloud Run. ב-Python מגרסה 3.13 ואילך, ה-buildpack של Python מגדיר את נקודת הכניסה על סמך הגדרת שירות האינטרנט בקובץ requirements.txt. אם לא מציינים שרת אינטרנט או framework בקובץ requirements.txt, או אם משתמשים ב-Python בגרסה 3.12 ומטה, ה-buildpack של Python מגדיר את נקודת הכניסה (entrypoint) כברירת מחדל ל-gunicorn -b :8080 main:app. מידע נוסף זמין במאמר בנושא פיתוח אפליקציית Python.
כל שאר הפריסות
- Java:
java -jar target/myjar.jar - PHP:
php -S 0.0.0.0:8080 index.php - Python:
gunicorn -b :8080 main:app
GOOGLE_RUNTIME
כך מאלצים את סביבת זמן הריצה לאישור. אם קובץ האימג' של ה-buildpack בסביבת זמן הריצה מופיע במספר קבוצות, הקובץ מהקבוצה הראשונה משמש את כל הקבוצות.
דוגמה לשימוש ב-Node.js: הערך nodejs מאלץ את סביבת זמן הריצה של buildpack ב-Node.js לאשר.
GOOGLE_RUNTIME_VERSION
זו הגרסה של סביבת זמן הריצה שתותקן. ב-.NET צריך לציין את גרסת ה-SDK של .NET.
דוגמאות:
- Go:
1.25.1 - Java:
25 - Node.js:
24.1.0 - .NET:
10.0.101
GOOGLE_BUILDABLE
בסביבות זמני הריצה של Go, Java, Dart ו-NET. זה הנתיב ליצירת החבילה.
לדוגמה: הערך ./maindir יוצר את החבילה ברמה הבסיסית (Root) ב-maindir.
GOOGLE_BUILD_ARGS
בסביבות זמני הריצה של Java (Maven ו-Gradle) ושל Net. צריך להוסיף את הארגומנטים כדי ליצור את הפקודה.
דוגמה ל-Java: הערך -Pprod מפעיל את mvn clean package ... -Pprod.
GOOGLE_MAVEN_BUILD_ARGS
בסביבות זמני הריצה של Java שמשתמשות בתוסף Maven: מחליף את פקודת Maven שמוגדרת כברירת מחדל בפקודת ה-build שאתם מציינים.
אם לא מציינים את GOOGLE_MAVEN_BUILD_ARGS, הפקודה הבאה מופעלת כברירת מחדל:
mvn clean package --batch-mode -DskipTests -Dhttp.keepAlive=false
לדוגמה: הערך GOOGLE_MAVEN_BUILD_ARGS="clean package: מפעיל את הפקודה mvn clean package.
GOOGLE_GRADLE_BUILD_ARGS
בסביבות זמני הריצה של Java שמשתמשות בפלאגין Gradle: מחליף את פקודת ברירת המחדל של Gradle בפקודת ה-build שאתם מציינים.
אם לא מציינים את GOOGLE_GRADLE_BUILD_ARGS, הפקודה הבאה מופעלת כברירת מחדל:
gradle clean assemble -x test --build-cache
לדוגמה: הערך GOOGLE_GRADLE_BUILD_ARGS="clean assemble" מפעיל את הפקודה gradle clean assemble.
GOOGLE_DEVMODE
ב-Skaffold: הפעלת ה-buildpacks של מצב הפיתוח.
משתמשים בפיתוח מקומי בזמן אמת כדי להפעיל קונטיינר אוטומטי שנוצר מחדש בהתאם לשינויים בקוד המקור. צריך להתקין את Skaffold ולהריץ את skaffold dev.
- ערכים נתמכים:
true,True,1
GOOGLE_CLEAR_SOURCE
לפונקציות או לאפליקציות ב-Go או ב-Java: מחיקת המקור אחרי יצירת האפליקציה. אם האפליקציה תלויה בקבצים סטטים כמו תבניות של Go, הגדרת המשתנה הזה עלולה לגרום לבעיות בהתנהגות של האפליקציה.
ערכים נתמכים: true, True או 1
משתני סביבה נוספים של פונקציות Cloud Run
ההגדרות הבאות זמינות רק לקוד מקור שנוצר כפונקציות שמשתמשות ב-Functions Framework ובפונקציות של Cloud Run. בחוזה תוכלו לקרוא פרטים נוספים על אפשרויות ההגדרה האלה.
GOOGLE_FUNCTION_TARGET
- זה השם של הפונקציה שמיוצאת ותופעל בתגובה לבקשות.
- לדוגמה: הערך
myFunctionיגרום ל-Functions Framework להפעיל את הפונקציה בשם הזה.
GOOGLE_FUNCTION_SIGNATURE_TYPE
- זו החתימה שמשמשת את הפונקציה.
- לדוגמה:
http,eventאוcloudevent.
GOOGLE_FUNCTION_SOURCE
- זה השם של הספרייה או הקובץ עם המקור של הפונקציה, בהתאם לשפה.
- (רלוונטי רק לחלק מהשפות. יש לעיין במסמכים הספציפיים של השפה).
- לדוגמה:
function.pyל-Python.