Apache Maven הוא כלי לאוטומציה של בנייה ב-Java.
App Engine מספק פלאגין Maven שאפשר להשתמש בו כדי ליצור ולפרוס את האפליקציה ב-App Engine. הפלאגין לא תומך בפרויקטים של Enterprise Application Archive (EAR).
לפני שמתחילים
כדי לבדוק אם Maven מותקן ומה הגרסה שלו, מריצים את הפקודה הבאה:
mvn -vאם Maven מותקן, תוצג מחרוזת ארוכה של מידע שמתחילה ב-
Apache Mavenוממשיכה במספר גרסה כמו3.9.1.אם לא מותקנת אצלכם גרסה Maven 3.9.1 או גרסה חדשה יותר:
אם עדיין לא עשיתם זאת, אתם צריכים לפעול לפי השלבים שמופיעים כאן כדי להוריד את ה-CLI של gcloud, ליצור את Google Cloud הפרויקט ולאתחל את אפליקציית App Engine.
מתקינים את רכיב
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 מטרה מבצעת את הפעולות הבאות:
המערכת יוצרת מזהה גרסה ייחודי לגרסה החדשה של האפליקציה.
הגרסה החדשה נפרסת ב-App Engine.
כל התנועה מנותבת לגרסה החדשה.
שינוי ברירות המחדל של הפריסה
אפשר לשנות את התנהגות הפריסה שמוגדרת כברירת מחדל על ידי העברת פרמטרים בפקודה 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
מאמר הזה.
המאמרים הבאים
- בודקים את הדוגמה של פלאגין Maven של App Engine JDK 21.
- אפשר לעיין בקוד של הפלאגין ולדווח על בעיות ב-GitHub.
- כדי לדעת איך מציינים פרמטרים למשימות, אפשר לעיין במאמר App Engine Maven Goals and Parameters.