Tavaszi indító alkalmazás telepítése a Cloud Foundry-hoz

1. Áttekintés

A Spring Boot alkalmazás telepítése a Cloud Foundry-ba egyszerű feladat. Ebben az oktatóanyagban megmutatjuk, hogyan kell csinálni.

2. Tavaszi felhőfüggőségek

Mivel ez a projekt új függőségeket igényel a Spring Cloud projekt számára, hozzáadjuk a Spring Cloud Dependencies BOM-ot:

   org.springframework.cloud tavaszi-felhő-függőségek Greenwhich.FELHASZNÁLÁS pom import 

Megtalálhatjuk a tavasz-felhő-függőségek könyvtár a Maven Central-on.

Most külön felépítést szeretnénk fenntartani a Cloud Foundry számára, ezért létrehozunk egy nevű profilt felhőzet a Mavenben pom.xml.

A csomag nevének konfigurálásához hozzáadjuk a fordító kizárásait és a Spring Boot plugint is:

   src / main / resources ** / logback.xml org.springframework.boot spring-boot-maven-plugin $ {project.name} -cf org.apache.maven.plugins maven-compiler-plugin ** / cloud / config / *.Jáva 

Ki akarjuk zárni a felhőspecifikus fájlokat is a normál összeállításból, ezért globális profilkizárást adunk a Maven fordító beépülő moduljához:

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

Ezután hozzá kell adnunk a Spring Cloud Starter és a Spring Cloud Connectors könyvtárakat, amelyek támogatást nyújtanak a Cloud Foundry számára:

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

3. Felhő öntöde konfigurálása

Az oktatóanyag végigviteléhez itt regisztrálnunk kell egy próbaverzióra, vagy le kell töltenünk az előre konfigurált fejlesztői környezetet a Native Linux vagy a Virtual Box számára.

Továbbá telepíteni kell a Cloud Foundry CLI-t. Az utasítások itt vannak.

A Cloud Foundry szolgáltatónál történő regisztráció után az API URL elérhetővé válik (a következő utasítások alapján térhet vissza hozzá: Eszközök opciót a bal oldalon).

Az alkalmazás konténer lehetővé teszi számunkra, hogy szolgáltatásokat kössünk az alkalmazásokhoz. Ezután jelentkezzünk be a Cloud Foundry környezetbe:

cf login -a 

A Cloud Foundry Marketplace a szolgáltatások katalógusa mint az adatbázisok, az üzenetküldés, az e-mail, a figyelés, a naplózás és még sok más. A legtöbb szolgáltatás ingyenes vagy próbaprogramot biztosít.

Keressük meg a Piactéren a „MySQL” kifejezést, és hozzunk létre egy szolgáltatást az alkalmazásunkhoz:

vö piactér | grep MySQL
> cleardb spark, boost *, amp *, shock * Rendkívül elérhető MySQL az alkalmazásokhoz. 

A kimenet a leírásban a „MySQL” feliratú szolgáltatásokat sorolja fel. PCF-en a MySQL szolgáltatás meg van nevezve cleardb és a nem ingyenes terveket csillaggal jelölik.

Ezután felsoroljuk a szolgáltatás részleteit:

vö piactér-cleardb
> szolgáltatási terv leírása ingyenes vagy fizetett szikra Nagyszerű az induláshoz és az alkalmazások fejlesztéséhez ingyenes lendület A legjobb könnyű gyártáshoz vagy alkalmazások futtatásához fizetett erősítő Mérsékelt adatigényű alkalmazásokhoz fizetett sokk Olyan alkalmazásokhoz tervezték, ahol valódi MySQL megbízhatóságra, teljesítményre és fizetett teljesítményre van szükség

Most létrehozunk egy ingyenes MySQL szolgáltatási példányt rugós-bootstrap-db:

cf create-service cleardb spark spring-bootstrap-db

4. Az alkalmazás konfigurálása

Ezután hozzáadjuk a @ Konfiguráció feljegyzett osztály, amely kiterjed AbstractCloudConfig létrehozni a Adatforrás nevű csomagban org.baeldung.cloud.config:

@Configuration @Profile ("cloud") public class CloudDataSourceConfig kiterjeszti az AbstractCloudConfig {@Bean public DataSource dataSource () {return connectionFactory (). DataSource (); }}

Hozzáadás @Profile („felhő”) biztosítja, hogy a Cloud Connector ne legyen aktív, amikor helyi tesztelést végzünk. Mi is hozzátesszük @ActiveProfiles (profilok = {“local”}) az integrációs tesztekhez.

Ezután építse fel az alkalmazást:

mvn clean install spring-boot: újracsomagolás -P cloudfoundry

Továbbá meg kell adnunk a megnyilvánulni.ym fájlt, hogy a szolgáltatást az alkalmazáshoz kösse.

Általában a megnyilvánulni.ym fájlt a projekt mappában, de ebben az esetben létrehozunk egy felhőzet mappát, mivel bemutatjuk, hogy több felhőalapú szolgáltatóhoz telepítettük:

--- alkalmazások: - név: spring-boot-bootstrap memória: 768M random-route: true path: ../target/spring-boot-bootstrap-cf.jar env: SPRING_PROFILES_ACTIVE: cloud, mysql services: - spring-bootstrap -db

5. Telepítés

Az alkalmazás telepítése most már olyan egyszerű, mint:

cd cloudfoundry cf push

A Cloud Foundry a Java buildpack használatával telepíti az alkalmazást, és véletlenszerű útvonalat hoz létre az alkalmazáshoz.

A naplófájl utolsó néhány bejegyzését a következőképpen tekinthetjük meg:

cf naplózza a spring-boot-bootstrap --recent fájlt

Vagy testreszabhatjuk a naplófájlt:

cf naplózza a spring-boot-bootstrap programot

Végül szükségünk van az útvonal nevére az alkalmazás teszteléséhez:

cf app spring-boot-bootstrap
> név: spring-boot-bootstrap kért állapot: elindított útvonalak: spring-boot-bootstrap-delightful-chimpanzee.cfapps.io Utolsó feltöltés: Csütörtök 23 Aug 08:57:20 SAST 2018 stack: cflinuxfs2 buildpacks: java-buildpack = v4 .15-offline -... típus: webes példányok: 1/1-es memóriahasználat: 768M állapot, mivel a 0-as CPU memórialemez fut, 2018-08-23T06: 57: 57Z 0,5% 290,9M / 768M 

A következő parancs végrehajtásával új könyv kerül hozzáadásra:

curl -i --kérés POST \ - header "Content-Type: application / json" \ --data '{"title": "A játékok játékosa", "author": "Iain M. Banks"}' \ /// api / books # OR http POST /// api / books author = "Iain M. Banks" 

És ez a parancs felsorolja az összes könyvet:

göndör -i /// api / könyvek # VAGY http /// api / könyvek
> HTTP / 1.1 200 OK [{"author": "Iain M. Banks", "id": 1, "title": "Games of Games"}, {"author": "JRR Tolkien", "id": 2, "title": "A hobbit"}] 

6. Az alkalmazás méretezése

Végül, egy alkalmazás méretezése a Cloud Foundry-ban ugyanolyan egyszerű, mint a skála parancs:

cf scale spring-cloud-bootstrap-cloudfoundry Opciók: -i -m # Like 512M vagy 1G -k # Like 1G vagy 2G -f # Force restart prompt nélkül

Ne felejtse el törölni az alkalmazást, amikor már nincs rá szükségünk:

cf törölje a spring-cloud-bootstrap-cloudfoundry fájlt

7. Következtetés

Ebben a cikkben a Spring Cloud könyvtárakat ismertettük, amelyek egyszerűsítik a felhőalapú alkalmazások fejlesztését a Spring Boot használatával. A Cloud Foundry CLI telepítése itt jól dokumentált.

A CLI számára további beépülő modulok állnak rendelkezésre a bővítménytárban.

Példáink teljes forráskódja itt is, mint mindig, a GitHubon van.