משימות ומאפיינים של App Engine Gradle Plugin

אחרי שמוסיפים את App Engine Gradle plugin לפרויקט, אפשר להשתמש במשימות Gradle ספציפיות ל-App Engine באפליקציית Java 8:
משימה תיאור
tasks הצגת מידע עזרה על משימות מותקנות.
appengineStage יוצר ספריית אפליקציות לפריסה.
appengineDeploy מבצעת staging ופריסה של אפליקציה ב-App Engine.
appengineDeployCron פורסים קובץ הגדרה cron.yaml ב-App Engine.
appengineDeployDispatch פריסת קובץ תצורה dispatch.yaml ב-App Engine.
appengineDeployDos פורסים קובץ הגדרה dos.yaml ב-App Engine.
appengineDeployIndex פריסת קובץ הגדרה index.yaml ב-App Engine.
appengineDeployQueue פורסים קובץ הגדרה queue.yaml ב-App Engine.
jettyRun מפעילים את שרת הפיתוח באמצעות הגדרות ברירת המחדל של Jetty. מידע נוסף על הפלאגין Gretty זמין במאמרים Gretty Configuration ו-Gretty Tasks.

כדי לראות רשימה של כל המשימות:

gradle tasks

מידע נוסף על הגדרה ושימוש ב-Gradle זמין במאמר שימוש ב-App Engine Gradle ובמאגר app-gradle-plugin ב-GitHub.

מאפייני המשימה

התוכן של הקובץ gradle.build הוא קבוצה של כללים לתיאור הבנייה. הוא כתוב בשפה ספציפית לדומיין לתיאור של בנייה, על סמך שפת Groovy.

לכל משימה יש מאפיינים משויכים שמופיעים בהמשך ושאפשר להשתמש בהם. אפשר לציין את המאפיינים האלה בקובץ gradle.build באמצעות configuration closure, משימה ומאפיינים.

בדוגמה הבאה אפשר לראות איך מציינים משימות Gradle ל-Java 8. למידע נוסף על שימוש בגרסאות חדשות יותר, אפשר לעיין במאמר בנושא Java runtime לגרסה 11 ואילך של Java.

בדוגמה הזו:

  • הגדרת הסגירה של הפלאגין היא appengine.
  • המשימה היא deploy.
  • המאפיינים stopPreviousVersion ו-promote מוגדרים כ-true.
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
אם אתם צריכים לציין רק כמה מאפיינים, אתם יכולים להגדיר אותם בשורה אחת:

  appengine.deploy.stopPreviousVersion = true

בקטעים הבאים מפורטת רשימה של המאפיינים שזמינים לכל משימה.

appengineStage

task(stage)

יוצר ספריית אפליקציות לפריסה. בשימוש במשימה appengineDeploy ובמשימה jettyRun.

אפשר להשתמש במאפיינים הבאים:

מאפיין (property) תיאור
artifact ארטיפקט בנוי שמכיל את כל הכיתות, המשאבים והמניפסטים. ברירת המחדל היא build/libs/[YOUR_SERVLET].war.
appEngineDirectory המיקום של קובץ app.yaml. ערך ברירת המחדל הוא src/main/appengine.
dockerDirectory מיקום Dockerfile. ברירת המחדל היא src/main/docker.
stagingDirectory חובה. הספרייה שאליה האפליקציה תועבר. ברירת המחדל היא build/staged-app.

appengineDeploy

task(deploy)

מבצעת staging ופריסה של אפליקציה ב-App Engine.

לכל משימה יש מאפיינים משויכים שמופיעים בהמשך ושאפשר להשתמש בהם. אפשר לציין את המאפיינים האלה בקובץ gradle.build באמצעות configuration closure, משימה ומאפיינים.

בדוגמה הבאה:

  • הגדרת הסגירה של הפלאגין היא appengine.
  • המשימה היא run.
  • הנכס port מוגדר כ-8080.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

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

  appengine.run.port = 8888
מאפיין (property) תיאור
appEngineDirectory המיקום של קובצי ההגדרות של .yaml (cron,‏ index וכו') שממנו יופעלו פריסות ספציפיות להגדרות (appengineDeployCron וכו'). באפליקציות גמישות, ברירת המחדל היא src/main/appengine.
bucket קטגוריה של Cloud Storage שמשמשת לאחסון זמני של קבצים שמשויכים לפריסה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בקטגוריית ברירת המחדל של האפליקציה.
deployables קובצי ה-YAML של השירותים או ההגדרות שרוצים לפרוס. ברירת המחדל היא הקובץ app.yaml בספריית ההכנה. אם הוא לא נמצא, המערכת מנסה ליצור באופן אוטומטי את קובצי ההגדרות הנדרשים (כמו app.yaml) בספריית הביניים.
imageUrl פריסה באמצעות קובץ אימג' של Docker ספציפי. כתובת ה-URL של Docker חייבת להיות אחת משמות המארחים התקפים של Artifact Registry.
project שם הפרויקט ב-Google Cloud Platform שבו רוצים להשתמש עבור הקריאה הזו. ברירת המחדל היא הפרויקט הנוכחי שנבחר כשמפעילים את כלי gcloud. כדי לאמת את העסק, אפשר להשתמש במספר gcloud config list project.
promote מקדמים את הגרסה שנפרסה כדי לקבל את כל התנועה. ברירת המחדל היא True.
server שרת App Engine שאליו מתחברים. בדרך כלל אין צורך לשנות את הערך הזה.
stopPreviousVersion צריך להפסיק את הגרסה שהופעלה קודם כשמפעילים גרסה חדשה שמקבלת את כל התנועה.
version הגרסה של האפליקציה שתיווצר או תוחלף על ידי הפריסה הזו. אם לא תציינו גרסה, המערכת תיצור גרסה בשבילכם.

מאפיינים גלובליים

מאפיין (property) תיאור
tools.cloudSdkHome מאפיין אופציונלי להגדרת המיקום של Google Cloud CLI. בדרך כלל הפלאגין מוצא את זה ב-CLI של gcloud כשהוא מותקן באמצעות gcloud components install app-engine-java.