Gradle
הוא כלי אוטומטי לבנייה בקוד פתוח, שמתמקד בגמישות ובביצועים.
App Engine מספק פלאגין Gradle שבו אפשר להשתמש כדי לבנות ולפרוס את האפליקציה ב-App Engine.
בדוגמת הקוד אפשר לראות איך להגדיר את הקובץ build.gradle כדי להוסיף משימות App Engine Gradle, מאגרי Maven, פלאגין App Engine Gradle ותלויות.
לפני שמתחילים
אם עדיין לא עשיתם את זה, פועלים לפי השלבים במדריך הזה כדי להוריד את ה-CLI של gcloud, ליצור את הפרויקט Google Cloud ולהפעיל את אפליקציית App Engine.
מתקינים את רכיב
app-engine-javaשל ה-CLI של gcloud:gcloud components install app-engine-java
יצירת פרויקט חדש של Gradle
אפשר ליצור פרויקט חדש של Gradle מאפס באמצעות מעטפת. לחלופין, כדי לנסות את הפלאגין, אפשר להוריד, להריץ באופן מקומי ולפרוס את פרויקט hello world.
כדי ליצור פרויקט חדש:
יוצרים ספרייה חדשה ועוברים אליה.
כדי לאתחל פרויקט חדש:
מריצים את
gradle init:gradle init --type java-applicationתתבקשו לענות על שאלות:
- מזינים את גרסת היעד של Java (מינימום: 7, ברירת מחדל: 21): 21
- בוחרים את מבנה האפליקציה: 1 לאפליקציה יחידה
- בחירת DSL של סקריפט build: 2 (ל-Groovy)
- בוחרים מסגרת בדיקה: 1 (ל-JUnit 4)
- יצירת build באמצעות ממשקי API חדשים והתנהגות חדשה: לא
יוצרים את התיקייה
WEB-INF:mkdir -p app/src/main/webapp/WEB-INFיוצרים את התיקייה
appengine:mkdir -p app/src/main/appengine
מסירים את קובצי ה-stub שנוצרו על ידי
gradle init:rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.javaמוסיפים את השורות הבאות לקובץ
app/build.gradleכדי להוסיף משימות App Engine Gradle, מאגרי Maven, את התוסף App Engine Gradle, תלויות והגדרות של משימות:צריך גם להוסיף את הקבצים הבאים לפרויקט באמצעות עורך טקסט או סביבת פיתוח משולבת (IDE):
app/src/main/appengine/app.yamlapp/src/main/webapp/WEB-INF/web.xml(אלא אם האפליקציה משתמשת בהערות Servlet 3.1)- app/src/main/docker/Dockerfile (אופציונלי לזמני ריצה בהתאמה אישית)
- שיעורים ב-Java
- מחלקות בדיקה ב-Java
במאמר הגדרת סביבת הפיתוח מופיע סקירה כללית של פרויקט Java App Engine.
בדיקת האפליקציה באמצעות שרת הפיתוח
כדי לגשת למשאבי Google מהפרויקט כשמריצים אותו באופן מקומי, צריך להגדיר את פרטי הכניסה שמוגדרים כברירת מחדל באפליקציה באמצעות הפקודה:
gcloud auth application-default loginעוברים אל ספריית הבסיס של האפליקציה.
במהלך שלב הפיתוח, אפשר להריץ ולבדוק את האפליקציה בכל שלב בשרת הפיתוח באמצעות הפעלת Gradle:
gradle jettyRunאפשר גם להריץ את Gradle בלי להתקין אותו באמצעות Gradle Wrapper.
מחכים שהשרת יופעל. השרת מופעל כשהאפליקציה פועלת, ותופיע הודעה דומה לזו:
:prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO runs at: 17:40:05 INFO http://localhost:8080/
האפליקציה פועלת בכתובת
http://localhost:8080.
מידע נוסף על הפלאגין Gretty זמין במאמרים Gretty Configuration ו-Gretty tasks.
פריסת האפליקציה
כדי לפרוס את האפליקציה:
gradle appengineDeploy
למשימה appengineDeploy ולכל שאר המשימות ב-Gradle יש מאפיינים משויכים שאפשר להשתמש בהם. רשימה מלאה של המשימות והמאפיינים מופיעה במאמר בנושא משימות ומאפיינים של App Engine Gradle.
שימוש ב-Gradle wrapper
Gradle מספק מנגנון להורדה ולהרצה של הגרסה הנדרשת של Gradle ללא התקנה:
Linux/macOS
עוברים לספרייה של הקוד לדוגמה.
מריצים את gradlew:
./gradlew jettyRun
Windows
עוברים לספרייה של הקוד לדוגמה.
מריצים את gradlew:
./gradlew.bat jettyRun
מידע נוסף על Gradle זמין במאמר בנושא משימות ומאפיינים של Gradle ב-App Engine.
המאמרים הבאים
- אפשר לעיין בקוד של הפלאגין ולדווח על בעיות ב-GitHub.
- מידע על מאפיינים ומשימות Gradle ב-App Engine