שימוש ב-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, מוסיפים את השורות הבאות לקטע 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 מאמר הזה.

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