כדי לפרוס גרסה של האפליקציה באמצעות Admin API, צריך להגדיר את פרטי התצורה של הגרסה באמצעות קובץ בפורמט JSON. אפשר ליצור את קובץ התצורה באופן ידני או להמיר קובץ app.yamlקיים.
ישנם שני חלקים ליצירת קובץ תצורה בפורמט JSON:
- מגדירים את פרטי הגרסה שרוצים לפרוס.
- מגדירים קטע
deploymentכדי לציין את כל הקבצים והמשאבים של האפליקציה שרוצים לפרוס.
לפני שמתחילים
קודם צריך להעלות את כל הקבצים והמשאבים של האפליקציה לדלי Cloud Storage, לפני שתוכל ליצור את קובץ התצורה app.json.
יצירה ידנית של קובץ התצורה בפורמט JSON
אם אתם צריכים ליצור את קובץ התצורה באופן ידני, למשל אם האפליקציה שלכם לא כוללת app.yaml או שאפליקציית Java הקיימת שלכם משתמשת בקובץ appengine-web.xml, תוכלו לפעול לפי השלבים הבאים:
כדי ליצור באופן ידני את קובץ התצורה app.json לפריסת האפליקציה באמצעות Admin API:
- יוצרים שם קובץ
app.json. - משתמשים בפרטי ההגדרה שמופיעים באוסף apps.services.versions כדי להגדיר את הגרסה שרוצים לפרוס.
- משתמשים בתבנית שבקטע 'הגדרת
deployment' כדי לציין את כל הקבצים והמשאבים שרוצים לפרוס מהקטגוריה של Cloud Storage.
בקטע דוגמה שבהמשך יש מידע שיעזור לכם ליצור את קובץ התצורה app.json.
המרת קובץ app.yaml לפורמט JSON
אפשר להשתמש בכלי convert_yaml.py כדי להמיר קובץ app.yaml קיים וליצור ממנו גרסת app.json.
אם קיים קובץ app.yaml, שבו אתם משתמשים בדרך כלל כדי לפרוס גרסאות של האפליקציה באופן ידני, אתם יכולים לשמור את המידע הזה על ידי המרת הגדרות התצורה האלה לפורמט JSON.
דרישות מוקדמות
מורידים ומתקינים את הכלי convert_yaml.py, כולל הדרישות שצוינו.
המרת קובצי YAML באמצעות הכלי convert_yaml.py
כדי להמיר קובץ app.yaml באמצעות הכלי convert_yaml.py:
מאתרים את נתיב הספרייה של
app.yamlורושמים אותו.דוגמה:
cd root/apps-container/my-application/כאשר
app.yamlשל אפליקצייתexample-python-app.pyעשוי להיראות כך:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.pyעוברים לספרייה המקומית שבה הורדתם את הכלי
convert_yaml.py, לדוגמה:cd root/tools/appengine-config-transformerכדי ליצור את הקובץ
app.jsonמהקובץapp.yaml, מפעילים את הכליconvert_yaml.py:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
[DIRECTORY_PATH]הוא נתיב הספרייה לקובץapp.yaml.גרסת JSON (
app.json) של קובץapp.yamlנוצרת בספרייה[DIRECTORY_PATH].מוודאים שהמזהה של הגרסה מוגדר בקובץ התצורה
app.json.אם בקובץ
app.yamlלא מופיע הרכיבversion: [VERSION_NAME], הרכיב"id": [VERSION_NAME]לא ייכלל בקובץapp.jsonאחרי ההמרה. לדוגמה, אם רוצים להגדיר את מזהה הגרסה ל-v1, צריך להוסיף את השורה הבאה לקובץapp.jsonבאופן ידני:"id": "v1",משתמשים בתבנית שבקטע הגדרת
deploymentכדי לציין את כל הקבצים והמשאבים של האפליקציה שרוצים לפרוס.
בקטע דוגמה שבהמשך יש מידע שיעזור לכם ליצור את קובץ התצורה app.json.
הגדרת הקטע deployment
כדי ליצור deployment section בקובץ התצורה app.json ולהגדיר באופן ידני את כל המשאבים שנמצאים בקטגוריה של Cloud Storage, משתמשים במידע העזר בdeployment section של אוסף apps.services.versions. אם אתם מגדירים קבצים נפרדים, אתם יכולים להשתמש בתבנית הבאה:
"deployment": {
"files": {
"my-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
},
}
},
כאשר my-resource-file1 מגדיר את שם הקובץ ואת הנתיב היחסי של הספרייה שבה רוצים לפרוס את הקובץ ב-App Engine.
קובץ app.json לדוגמה
אפשר להשתמש בדוגמה הבאה app.json כדי ליצור את קובץ התצורה.
בדוגמה הבאה של app.json, מוגדר מזהה הגרסה v1 יחד עם קטע deployment שכולל שתי דוגמאות של קובצי מקור ממאגר Cloud Storage [MY_BUCKET_ID].
{
"deployment": {
"files": {
"example-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/example-resource-file1"
},
"images/example-resource-file2": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/images/example-resource-file2"
},
}
},
"id": "v1",
"handlers": [
{
"urlRegex": "/.*",
"script": {
"scriptPath": "example-python-app.py"
}
},
],
"runtime": "python27",
"threadsafe": true,
}