פריסת יישום אתחול האביב ליציקה של ענן

1. סקירה כללית

פריסת יישום Spring Boot ל- Cloud Foundry היא תרגיל פשוט. במדריך זה נראה לך כיצד לעשות זאת.

2. תלות בענן אביבית

מכיוון שפרויקט זה ידרוש תלות חדשה עבור פרויקט Spring Cloud, נוסיף את ה- BOM Of Cloud Cloud Dependencies:

   org.springframework.cloud תלות באביב-ענן Greenwhich.RELEASE יבוא פום 

אנו יכולים למצוא את הגרסה האחרונה של תלות באביב-ענן הספרייה במרכז מייבן.

כעת, אנו רוצים לשמור על בנייה נפרדת עבור Cloud Foundry, לכן ניצור פרופיל בשם ענן במבן pom.xml.

נוסיף גם אי הכללות מהדר ותוסף Spring Boot כדי להגדיר את שם החבילה:

   src / main / resources ** / logback.xml org.springframework.boot spring-boot-maven-plugin $ {project.name} -cf org.apache.maven.plugins maven-compiler-plugin ** / cloud / config / *. ג'אווה 

אנו רוצים גם לא לכלול את הקבצים הספציפיים לענן מהבנייה הרגילה ולכן אנו מוסיפים אי הכללת פרופיל גלובלי לתוסף המהדר Maven:

   org.apache.maven.plugins maven-compiler-plugin ** / cloud / *. java 

לאחר מכן עלינו להוסיף את ספריות Spring Cloud Starter ואת ספריות מחברי Spring Cloud המספקות תמיכה עבור Cloud Foundry:

 org.springframework.cloud spring-cloud-starter org.springframework.boot spring-boot-starter-cloud-connectors 

3. תצורת יציקה בענן

כדי לעבור על הדרכה זו, עלינו להירשם לניסיון כאן או להוריד את סביבת הפיתוח שהוגדרה מראש עבור Native Linux או Virtual Box.

יתר על כן, יש להתקין את ה- Cloud Foundry CLI. ההוראות כאן.

לאחר ההרשמה אצל ספק Cloud Foundry, כתובת ה- API תהיה זמינה (תוכל לחזור אליה על ידי ביצוע כלים אפשרות בצד שמאל).

מיכל היישומים מאפשר לנו לאגד שירותים ליישומים. לאחר מכן, בואו נכנס לסביבת Cloud Foundry:

כניסה CF -a 

שוק היציקה של ענן הוא קטלוג שירותים כמו מאגרי מידע, מסרים, אימיילים, ניטור, רישום ועוד. רוב השירותים מספקים תוכנית בחינם או לניסיון.

בואו נחפש את "MySQL" ב- Marketplace וניצור שירות ליישום שלנו:

שוק השוק | grep MySQL
> cleardb ניצוץ, boost *, amp *, shock * MySQL זמין במיוחד לאפליקציות שלך. 

הפלט מפרט את השירותים עם "MySQL" בתיאור. ב- PCF נקרא שם שירות MySQL cleardb ותוכניות שאינן בחינם מסומנות בכוכבית.

לאחר מכן, אנו מפרטים את פרטי השירות באמצעות:

cf השוק - cleardb
> תיאור תוכנית השירות ניצוץ בחינם או בתשלום נהדר להתחלה ולפיתוח האפליקציות שלך דחיפה חינם הטוב ביותר לייצור קל או לביצוע האפליקציות שלך בתשלום מגבר עבור אפליקציות עם דרישות נתונים מתונות זעזוע בתשלום מיועד לאפליקציות בהן אתה זקוק לאמינות MySQL אמיתית, כוח ותפוקה בתשלום

כעת אנו יוצרים מופע שירות MySQL בחינם בשם אביב- bootstrap-db:

cf ליצור שירות cleardb ניצוץ קפיץ-bootstrap-db

4. תצורת יישום

לאחר מכן, אנו מוסיפים א @תְצוּרָה הערה בכיתה שמתארכת תקציר CloudConfig ליצור מקור מידע בחבילה ששמה org.baeldung.cloud.config:

@Configuration @Profile ("ענן") מחלקה ציבורית CloudDataSourceConfig מרחיב AbstractCloudConfig {@Bean DataSource ציבורי DataSource () {return connectionFactory (). DataSource (); }}

מוֹסִיף @ פרופיל ("ענן") מבטיח שמחבר הענן אינו פעיל כאשר אנו מבצעים בדיקות מקומיות. אנחנו גם מוסיפים @ActiveProfiles (פרופילים = {“מקומי”}) למבחני האינטגרציה.

ואז בנה את היישום עם:

mvn נקי להתקין אתחול האביב: אריזה מחדש -P עננות

כמו כן, עלינו לספק א manifest.yml קובץ, כדי לאגד את השירות ליישום.

בדרך כלל אנו ממקמים את manifest.yml קובץ בתיקיית הפרויקט, אך במקרה זה ניצור קובץ ענן תיקיה מאחר ואנחנו נדגים פריסה למספר ספקים ילידי ענן:

--- יישומים: - שם: זיכרון קפיצי אתחול-אתחול: 768M מסלול אקראי: נתיב אמיתי: ../target/spring-boot-bootstrap-cf.jar env: SPRING_PROFILES_ACTIVE: ענן, שירותי mysql: - spring-bootstrap -db

5. פריסה

פריסת היישום קלה כעת כמו:

CD Cloudfoundry CF לדחוף

Cloud Foundry ישתמש ב- buildpack של Java כדי לפרוס את היישום וליצור מסלול אקראי ליישום.

אנו יכולים להציג את הערכים האחרונים בקובץ היומן באמצעות:

cf יומני spring-boot-bootstrap --recent

לחלופין נוכל לזנב את קובץ היומן:

cf יומני spring-boot-bootstrap

לבסוף, אנו זקוקים לשם המסלול כדי לבדוק את היישום:

cf אפליקציית אביב-אתחול-אתחול
> שם: spring-boot-bootstrap מצב מבוקש: מסלולים שהתחילו: spring-boot-bootstrap-delightful-chimpanzee.cfapps.io הועלה לאחרונה: Thu 23 Aug 08:57:20 SAST 2018 stack: cflinuxfs2 buildpacks: java-buildpack = v4 .15-לא מקוון -... סוג: מופעי אינטרנט: שימוש בזיכרון 1/1: מצב 768M מאז דיסק זיכרון המעבד # 0 פועל 2018-08-23T06: 57: 57Z 0.5% 290.9M מתוך 768M 164.7M של 1G 

ביצוע הפקודה הבאה יוסיף ספר חדש:

curl -i --request POST \ --header "סוג תוכן: application / json" \ --data '{"title": "נגן המשחקים", "author": "Iain M. Banks"}' \ /// api / books #OR http POST /// api / books author = "Iain M. Banks" 

ופקודה זו תפרט את כל הספרים:

תלתל -i /// api / books #OR http /// api / books
> HTTP / 1.1 200 בסדר [{"author": "Iain M. Banks", "id": 1, "title": "Player of Games"}, {"author": "JRR Tolkien", "id": 2, "title": "ההוביט"}] 

6. שינוי גודל היישום

לבסוף, קנה המידה של יישום ב- Cloud Foundry הוא פשוט כמו השימוש ב- סוּלָם פקודה:

cf בקנה מידה אביב-ענן-bootstrap-cloudfoundry אפשרויות: -i -m # כמו 512M או 1G -k # כמו 1G או 2G -f # כוח מחדש ללא הפקודה

זכור למחוק את היישום כאשר איננו זקוקים לו יותר:

מחק את האביב-ענן-אתחול-ענן

7. מסקנה

במאמר זה סקרנו את ספריות Spring Cloud שמפשטות את הפיתוח של יישום מקורי לענן באמצעות Spring Boot. הפריסה ב- Cloud Foundry CLI מתועדת היטב כאן.

תוספים נוספים עבור ה- CLI זמינים במאגר התוספים.

קוד המקור המלא של הדוגמאות שלנו כאן, כמו תמיד, הסתיים ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found