שימוש ב-Apache Maven וב-App Engine Plugin

Apache Maven הוא כלי לאוטומציה של בנייה ב-Java.

‫App Engine מספק פלאגין Maven שאפשר להשתמש בו כדי ליצור ולפרוס את האפליקציה ב-App Engine. הפלאגין לא תומך בפרויקטים של Enterprise Application Archive‏ (EAR).

לפני שמתחילים

  1. כדי לבדוק אם Maven מותקן ואיזו גרסה מותקנת, מריצים את הפקודה הבאה:

    mvn -v
    

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

  2. אם לא מותקנת אצלכם גרסה Maven 3.9.1 או גרסה חדשה יותר:

    1. מורידים את Maven 3.9.1 או גרסה חדשה יותר.
    2. מתקינים את Maven 3.9.1 או גרסה חדשה יותר.
  3. אם עדיין לא עשיתם זאת, פועלים לפי השלבים כאן כדי להוריד את ה-CLI של gcloud, ליצור את Google Cloud הפרויקט ולאתחל את אפליקציית App Engine.

  4. מתקינים את רכיב app-engine-java של ה-CLI של gcloud:

    gcloud components install app-engine-java
    

הוספת App Engine Maven plugin

כדי להשתמש ב-App Engine Maven plugin, מוסיפים את השורות הבאות לקטע plugins בקובץ pom.xml של הפרויקט:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.8.1</version>
</plugin>

פיתוח ופריסה של האפליקציה

אחרי שמוסיפים את הפלאגין App Engine Maven לקובץ pom.xml של הפרויקט, אפשר להשתמש בפקודה הבאה כדי ליצור את האפליקציה ולפרוס אותה:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

מחליפים את PROJECT_ID במזהה הפרויקט. Google Cloud אם קובץ pom.xml שלכם כבר מציין את מזהה הפרויקט, אתם לא צריכים לכלול את המאפיין -Dapp.deploy.projectId בפקודה שאתם מריצים.

המטרה package יוצרת את האפליקציה ואורזת אותה, והappengine:deploy מטרה מבצעת את הפעולות הבאות:

  1. המערכת יוצרת מזהה גרסה ייחודי לגרסה החדשה של האפליקציה.

  2. הגרסה החדשה נפרסת ב-App Engine.

  3. כל התנועה מנותבת לגרסה החדשה.

שינוי ברירות המחדל של הפריסה

אפשר לשנות את התנהגות הפריסה שמוגדרת כברירת מחדל על ידי העברת פרמטרים בפקודה appengine:deploy. לדוגמה, הפקודה הבאה פורסת את השירות שמוגדר בקובץ pom.xml לפרויקט Google Cloud ספציפי, מקצה לשירות מזהה גרסה מותאם אישית ומשביתה את הניתוב האוטומטי של התנועה לגרסה החדשה:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

אפשר גם להשתמש בפקודה appengine:deploy כדי לפרוס קובצי תצורה, כמו cron.yaml,‏ dispatch.yaml ו-index.yaml.

מידע נוסף זמין בappengine:deploy מאמר הזה.

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