הגדרת משתני סביבה למופעים

בדף הזה מוסבר איך להגדיר משתני סביבה למופע Cloud Run.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של מופעי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מופע Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח של Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרה של משתני סביבה

אפשר להגדיר משתני סביבה למופע של Cloud Run באמצעות Google Cloud CLI או YAML:

gcloud

כדי לציין משתני סביבה בזמן יצירת המכונה, משתמשים בדגל --set-env-vars:

gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: השם של המכונה
  • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
  • KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים וערכים

מידע נוסף על הגדרת כמה משתני סביבה או על שימוש בתווי escape לתווים מיוחדים זמין במאמר הגדרת כמה משתני סביבה.

YAML

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

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. בדוגמה הבאה מופיעה הגדרת ה-YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - env:
        - name: KEY
          value: VALUE
        - name: KEY2
          value: VALUE2
        image: IMAGE

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE: השם של מופע Cloud Run.
    • KEY ו-VALUE: השם והערכים של משתני הסביבה.
    • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. יוצרים או מעדכנים את המכונה באמצעות הפקודה הבאה:

    gcloud beta run instances replace instance.yaml

הגדרת משתני סביבה כברירת מחדל במאגר התגים

אפשר להשתמש בהצהרה ENV בקובץ Dockerfile כדי להגדיר ערכי ברירת מחדל למשתני סביבה:

ENV KEY1=VALUE1,KEY2=VALUE2

סדר העדיפות: משתני מאגר תגים לעומת משתני מופע

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

הגדרה של כמה משתני סביבה

אפשר להגדיר כמה משתני סביבה באמצעות הקובץ .env או הדגל --set-env-vars.

הגדרת כמה משתני סביבה באמצעות הקובץ .env

gcloud

כדי לציין כמה משתני סביבה מקובץ .env, מריצים את הפקודה הבאה:

gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: השם של המכונה.
  • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, כמו us-docker.pkg.dev/cloudrun/container/hello:latest.
  • ENV_FILE_PATH: הנתיב לקובץ .env.

הגדרת כמה משתני סביבה באמצעות הדגל --set-env-vars

אם יש לכם כמה משתני סביבה שלא ניתן לפרט בפורמט KEY1=VALUE1,KEY2=VALUE2, אפשר לחזור על הדגל --set-env-vars כמה פעמים:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

תו בריחה (escape) לתווים של פסיקים

מכיוון שהתו פסיק , משמש לפיצול משתני סביבה, אם משתנה הסביבה שלכם מכיל תווי פסיק כערכים, צריך להשתמש בתו בריחה עבור התווים האלה על ידי ציון תו מפריד שונה, למשל @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

עדכון משתני סביבה

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

אפשר לעדכן את משתני הסביבה באמצעות Google Cloud CLI או YAML:

gcloud

כדי לעדכן משתני סביבה של מופע קיים, משתמשים בדגל --update-env-vars:

gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: השם של המכונה
  • KEY1=VALUE1,KEY2=VALUE2: רשימה מופרדת בפסיקים של שמות משתנים וערכים

YAML

  1. מורידים את הגדרות ה-YAML של המכונה:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. עורכים את משתני המפתח (השם) והערך.

  3. מעדכנים את המופע באמצעות הפקודה הבאה:

    gcloud beta run instances replace instance.yaml

מחיקת משתני סביבה

gcloud

כדי להסיר משתני סביבה באופן סלקטיבי ממופע קיים, משתמשים בדגל --remove-env-vars:

gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE: השם של המכונה
  • KEY1,KEY2: רשימה מופרדת בפסיקים של שמות משתנים

אפשר גם למחוק את כל משתני הסביבה שהוגדרו קודם באמצעות הדגל --clear-env-vars:

gcloud beta run instances update INSTANCE --clear-env-vars

מחליפים את INSTANCE בשם המכונה.

קוד לדוגמה

דוגמת קוד שמראה איך לגשת למשתני סביבה בקוד מופיעה במאמר טיפול בהגדרות רגישות באמצעות Secret Manager במדריך לאימות משתמשי קצה.

המאמרים הבאים

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