אחרי הוספת הפלאגין App Engine Maven שמבוסס על CLI של gcloud לפרויקט, המטרות הבאות של Maven שספציפיות ל-App Engine זמינות:
| מטרה | תיאור |
|---|---|
appengine:cloudSdkLogin |
מגדיר את המצב הגלובלי של ה-CLI של gcloud עבור חשבון. |
appengine:deploy |
מבצעת staging ופריסה של אפליקציה ב-App Engine. |
appengine:deployAll |
מעלה ומפרסם אפליקציה עם כל קובצי ה-YAML התקינים שלה בו-זמנית ב-App Engine. |
appengine:deployCron |
מעבירים קובץ הגדרות cron.yaml ל-App Engine ומבצעים פריסה. |
appengine:deployDispatch |
מעבירים קובץ הגדרות dispatch.yaml ל-App Engine ומבצעים פריסה. |
appengine:deployDos |
מעבירים קובץ הגדרות dos.yaml ל-App Engine ומבצעים פריסה. |
appengine:deployIndex |
מעבירים קובץ הגדרה index.yaml ל-App Engine ופורסים אותו. |
appengine:deployQueue |
מעבירים קובץ הגדרות queue.yaml ל-App Engine ומבצעים פריסה. |
appengine:help |
מציגה מידע עזרה על App Engine Maven Plugin. |
appengine:run |
מפעיל את שרת הפיתוח של App Engine. כשהשרת פועל, הוא בודק כל הזמן אם appengine-web.xml השתנה. אם כן, השרת טוען מחדש את האפליקציה. אתם לא צריכים להפסיק ולהפעיל מחדש את האפליקציה בגלל שינויים ב-appengine-web.xml. היעד הזה נתמך בשירותים מדור קודם.
|
appengine:stage |
יוצר ספריית אפליקציות לפריסה. |
appengine:start |
הפקודה מפעילה את שרת הפיתוח של App Engine באופן אסינכרוני, ואז חוזרת לשורת הפקודה. כשמפעילים את היעד הזה, ההתנהגות זהה לזו של היעד run, אלא ש-Maven ממשיך לעבד יעדים ויוצא אחרי שהשרת מופעל ופועל. היעד הזה נתמך בשירותים מדור קודם.
|
appengine:stop |
הפקודה מפסיקה שרת פיתוח אינטרנט של App Engine שפועל. היעד הזה נתמך בשירותים מדור קודם. |
מידע נוסף על הגדרה ושימוש ב-Maven זמין במאמר שימוש ב-Maven.
שימוש בפרמטרים
לכל יעד יש פרמטרים משויכים שאפשר לציין בקובץ pom.xml.
לדוגמה:
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
<cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
</configuration>
</plugin>
</plugins>אפשר גם להגדיר פרמטרים של הגדרה בשורת הפקודה, לפי התבנית -D[USER_PROPERTY]=[PARAMETER_VALUE].
לדוגמה, כדי לציין ספרייה שבה האפליקציה תועבר למצב ביניים:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
בקטעים הבאים מפורטת רשימת הפרמטרים שזמינים לכל יעד.
appengine:deploy
מבצעת staging ופריסה של אפליקציה ב-App Engine.
אפשר להשתמש בפרמטרים הבאים, שחלקם תואמים לדגלים של שורת הפקודה gcloud app deploy או לדגלים של שורת הפקודה gcloud app services:
| פרמטר | תיאור | מאפיין משתמש |
|---|---|---|
appEngineDirectory |
הספרייה שמכילה את app.yaml וקבצים אחרים של הגדרות App Engine שנתמכים. ברירת המחדל היא ${basedir}/src/main/appengine. |
app.stage.appEngineDirectory |
artifact |
המיקום של ארכיון ה-JAR או ה-WAR לפריסה. ברירת המחדל היא ${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
bucket |
קטגוריה של Cloud Storage שמשמשת להעברת קבצים שמשויכים לפריסה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בדלי ברירת המחדל של האפליקציה. | app.deploy.bucket |
cloudSdkPath |
פרמטר אופציונלי להגדרת המיקום של Google Cloud CLI. ברירת המחדל היא גילוי אוטומטי מתוך הנתיב או מיקום ההתקנה הרגיל. | cloudSdkPath |
deployables |
קובצי ה-YAML של השירותים או ההגדרות שרוצים לפרוס.
ברירת המחדל היא הקובץ app.yaml בספריית ההכנה.
אם לא נמצא קובץ כזה, המערכת תנסה ליצור באופן אוטומטי קובצי הגדרה נדרשים (כמו app.yaml) בספריית הביניים. |
app.deploy.deployables |
dockerDirectory |
הספרייה שמכילה את קובץ ה-Dockerfile ומשאבי Docker אחרים.
ברירת המחדל היא ${basedir}/src/main/docker/. |
app.stage.dockerDirectory |
imageUrl |
פריסה באמצעות קובץ אימג' של Docker ספציפי. ImageUrl צריך להיות שם תקין ב-Artifact Registry, למשל docker.pkg.dev/foo, כאשר foo הוא שם התמונה. |
app.deploy.imageUrl |
projectId |
Google Cloud שם הפרויקט שבו רוצים להשתמש בהפעלה הזו.
ברירת המחדל היא הפרויקט הנוכחי שנבחר כשמפעילים את gcloud. |
app.deploy.projectId |
promote |
מקדמים את הגרסה שנפרסה כדי לקבל את כל תנועת הגולשים. ברירת המחדל היא True. |
app.deploy.promote |
server |
שרת App Engine שאליו מתחברים. בדרך כלל אין צורך לשנות את הערך הזה. | app.deploy.server |
stagingDirectory |
חובה. הספרייה שאליה האפליקציה תועבר. ברירת המחדל היא ${project.build.directory}/appengine-staging. |
app.stage.stagingDirectory |
stopPreviousVersion |
צריך להפסיק את הגרסה שהופעלה קודם כשפורסים גרסה חדשה שמקבלת את כל התנועה. | app.deploy.stopPreviousVersion |
version |
הגרסה של האפליקציה שתיווצר או תוחלף על ידי הפריסה הזו. אם לא תציינו גרסה, המערכת תיצור גרסה בשבילכם. | app.deploy.version |
appengine:help
מציגה מידע עזרה על App Engine Maven Plugin. כדי להציג את פרטי הפרמטר, צריך להפעיל את הפקודה:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
אפשר להשתמש בפרמטרים הבאים:
| פרמטר | תיאור | מאפיין משתמש |
|---|---|---|
detail |
אם הערך הוא true, כל המאפיינים שניתנים להגדרה עבור כל יעד מוצגים. ברירת המחדל היא False. |
detail |
goal |
שם היעד שעבורו רוצים להציג עזרה. אם לא מציינים יעדים, כל היעדים יוצגו. | goal |
indentSize |
מספר הרווחים לכל רמת הזחה. צריך להיות מספר חיובי.
ברירת המחדל היא 2. |
indentSize |
lineLength |
האורך המקסימלי של שורת תצוגה. צריך להיות מספר חיובי.
ברירת המחדל היא 80. |
lineLength |
appengine:run
מפעיל את שרת פיתוח להצגה באינטרנט (development web server) של App Engine. כשהשרת פועל, הוא בודק כל הזמן אם appengine-web.xml השתנה. אם כן, השרת טוען מחדש את האפליקציה. המשמעות היא שלא צריך לעצור ולהפעיל מחדש את האפליקציה בגלל שינויים ב-appengine-web.xml.
אפשר להשתמש בפרמטרים הבאים, שחלקם תואמים לפקודות של שרת פיתוח מקומי:
| מאפיין (property) | תיאור | הגדרת הפלאגין | הגדרה של שורת פקודה |
|---|---|---|---|
automaticRestart |
הפעלה מחדש של מופעים באופן אוטומטי כשמשנים קבצים של אפליקציות אינטרנט (משאבים או קבצים של מחלקות). כדי להגדיר את Maven כך שיציב את קובצי המחלקה שעברו קומפילציה בספרייה הנכונה של אפליקציית האינטרנט, צריך לשנות את ההגדרה outputDirectory של Maven:
<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
environment |
מפה של משתני סביבה לשליחה לשרת הפיתוח המקומי.
דוגמה:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
ארגומנטים נוספים להעברה לפקודת java כשמפעילים מופע של האפליקציה. אפשר לציין יותר מפעם אחת. דוגמה:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
שם המארח שאליו שירותי האפליקציה צריכים להיות מקושרים. ברירת המחדל היא localhost.
|
devserver.host |
app.devserver.host |
port |
היציאה הנמוכה ביותר שאליה שירותי האפליקציות צריכים להיקשר. ברירת המחדל היא 8080.
|
devserver.port |
app.devserver.port |
serverVersion |
גרסת השרת להפעלה, האפשרויות הן '1' ו-'2-alpha'. ברירת המחדל היא '1'. | devserver.serverVersion |
app.devserver.serverVersion |
services |
חובה. נתיבים לספרייה שמכילה ספרייה שמכילה את הקובץ WEB-INF/web.xml. ברירת המחדל היא build/exploded-app.
|
devserver.services |
app.devserver.services |
appengine:stage
יוצרת ספרייה של גרסת build של האפליקציה לפריסה.
אפשר להשתמש בפרמטרים הבאים:
| פרמטר | תיאור | מאפיין משתמש |
|---|---|---|
appEngineDirectory |
הספרייה שמכילה את app.yaml וקובצי הגדרות נתמכים אחרים של App Engine. ברירת המחדל היא ${basedir}/src/main/appengine. |
app.stage.appEngineDirectory |
artifact |
המיקום של ארכיון ה-JAR או ה-WAR לפריסה. ברירת המחדל היא ${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
cloudSdkPath |
פרמטר אופציונלי להגדרת המיקום של ה-CLI של gcloud. | cloudSdkPath |
dockerDirectory |
הספרייה שמכילה את קובץ ה-Dockerfile ומשאבי Docker אחרים.
ברירת המחדל היא ${basedir}/src/main/docker/${basedir}/src/main/docker/. |
app.stage.dockerDirectory |
stagingDirectory |
חובה. הספרייה שאליה האפליקציה תועבר. ברירת המחדל היא
${project.build.directory}/appengine-staging |
app.stage.stagingDirectory |
appengine:start
הפקודה מפעילה את שרת פיתוח להצגה באינטרנט (development web server) של App Engine באופן אסינכרוני ואז חוזרת לשורת הפקודה. כשהיעד הזה פועל, ההתנהגות שלו זהה ליעד run, אלא ש-Maven ממשיך לעבד את היעדים ויוצא אחרי שהשרת מופעל.
אפשר להשתמש בפרמטרים הבאים:
| מאפיין (property) | תיאור | הגדרת הפלאגין | הגדרה של שורת פקודה |
|---|---|---|---|
environment |
מפה של משתני סביבה לשליחה לשרת הפיתוח המקומי.
דוגמה:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
ארגומנטים נוספים להעברה לפקודת java כשמפעילים מופע של האפליקציה. אפשר לציין יותר מפעם אחת. דוגמה:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
שם המארח שאליו שירותי האפליקציה צריכים להיות מקושרים. ברירת המחדל היא localhost.
|
devserver.host |
app.devserver.host |
port |
היציאה הנמוכה ביותר שאליה שירותי האפליקציות צריכים להיקשר. ברירת המחדל היא 8080.
|
devserver.port |
app.devserver.port |
serverVersion |
גרסת השרת להפעלה, האפשרויות הן '1' ו-'2-alpha'. ברירת המחדל היא '1'. | devserver.serverVersion |
app.devserver.serverVersion |
services |
חובה. נתיבים לספרייה שמכילה ספרייה שמכילה את הקובץ WEB-INF/web.xml. ברירת המחדל היא build/exploded-app.
|
devserver.services |
app.devserver.services |
startSuccessTimeout |
משך הזמן בשניות להמתנה להפעלת שרת אפליקציית הפיתוח ברקע (כשמשתמשים ב-appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
הפקודה מפסיקה שרת פיתוח אינטרנט של App Engine שפועל.
אפשר להשתמש בפרמטרים הבאים:
| פרמטר | תיאור | הגדרת הפלאגין | הגדרה של שורת פקודה |
|---|---|---|---|
host |
שם המארח שאליו שרת הניהול צריך להיות קשור. ברירת המחדל היא
localhost |
devserver.adminHost |
app.devserver.adminHost |
port |
היציאה שאליה שרת האדמין צריך להיקשר. ברירת המחדל היא 8000. |
devserver.adminPort |
app.devserver.adminPort |
cloudSdkHome |
פרמטר אופציונלי להגדרת המיקום של ה-CLI של gcloud. אם לא מציינים את המאפיין הזה, התוסף מוריד באופן אוטומטי את ה-CLI של gcloud. | cloudSdkHome |
cloudSdkHome |