Gradle הוא כלי אוטומטי לבנייה בקוד פתוח, שמתמקד בגמישות ובביצועים.
App Engine מספק תוסף Gradle שאפשר להשתמש בו כדי לבנות ולפרוס את האפליקציה ב-App Engine.
בדוגמת הקוד מוצג איך להגדיר את הקובץ build.gradle כדי להוסיף משימות Gradle של App Engine, מאגרי Maven, תוסף Gradle של App Engine ותלויות.
לפני שמתחילים
אם עדיין לא עשיתם את זה, פועלים לפי השלבים במדריך הזה כדי להוריד את ה-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 Plugin, תלויות והגדרות של משימות:צריך גם להוסיף את הקבצים הבאים לפרויקט באמצעות עורך טקסט או סביבת פיתוח משולבת (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 זמין במאמר App Engine Gradle Tasks and Properties (משימות ומאפיינים של Gradle ב-App Engine).
המאמרים הבאים
- אפשר לעיין בקוד של הפלאגין ולדווח על בעיות ב-GitHub.
- מידע על מאפיינים של משימות ב-Gradle ב-App Engine