שימוש ב-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 של הפרויקט:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.8.1</version>
   </plugin>
   <plugin>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-maven-plugin</artifactId>
     <version>9.4.56.v20240826</version>
   </plugin>
</plugins>
התוסף App Engine כולל את התוסף Jetty Maven, שבו אפשר להשתמש כדי לבדוק את האפליקציה במהירות בלי ליצור קובץ WAR.

שימוש ב-Jetty Maven plugin כדי לבדוק את האפליקציה באופן מקומי

במהלך שלב הפיתוח, אפשר להריץ ולבדוק את האפליקציה בכל שלב בשרת הפיתוח באמצעות הפעלת התוסף Jetty Maven.

כדי להריץ את האפליקציה בשרת הפיתוח:

  1. אם עדיין לא עשיתם זאת, אתם צריכים ליצור את האפליקציה:

    mvn package
    
  2. עוברים לספרייה ברמה העליונה של הפרויקט (למשל, myapp) ומריצים את האפליקציה באמצעות הפעלת Maven:

    mvn jetty:run
    
  3. מחכים שהשרת יופעל ומשתמשים בדפדפן כדי להיכנס לכתובת http://localhost:8080/ כדי לגשת לאפליקציה.

  4. מכבים את האפליקציה ואת שרת הפיתוח על ידי הקשה על Control+C.

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

אחרי שמוסיפים את הפלאגין 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 מאמר הזה.

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