El otro día vimos que era Cloud Foundry.
Hoy vamos a desplegar una aplicación Spring Roo en Cloud Foundry para que veáis lo integrado que está y lo sencillo que es 🙂
Para eso:
· Descargaré e instalaré Spring Roo (versión 1.2 RC1 al menos)
· Arrancaré la consola de Roo e instalaré el addon de Cloud Foundry para Roo:
roo> pgp automatic trust
roo>addon install bundle –bundleSymbolicName org.springframework.roo.addon.cloud.foundry
· Desde la consola hago login en Cloud Foundry:
roo> cloud foundry login –email myemail@mail.com –password ****** –cloudControllerUrl http://api.cloudfoundry.com

· Ya puedo usar los commandos cloud foundry:
Como roo>cloud foundry info
· Me crearé un proyecto de Roo de la forma tradicional (como ya hemos visto en varios posts). Podéis hacerlo también así:
o Me creo un fichero proyecto.roo en el raíz del proyecto con este contenido:
| project –topLevelPackage com.dw.roo.conference –java 6 –projectName conference
persistence setup –provider HIBERNATE –database HYPERSONIC_IN_MEMORY entity jpa –class ~.domain.Speaker –testAutomatically entity jpa –class ~.domain.Talk –testAutomatically field string –fieldName firstname –class ~.domain.Speaker –notNull field string –fieldName lastname –notNull field string –fieldName email –unique –notNull field string –fieldName organization field date –fieldName birthdate –type java.util.Date –past –notNull field number –type java.lang.Long –fieldName age –min 25 –max 60 field string –fieldName title –class ~.domain.Talk –notNull field string –fieldName description –notNull –sizeMax 4000 field set –fieldName talks –type ~.domain.Talk –class ~.domain.Speaker –cardinality ONE_TO_MANY field reference –fieldName speaker –type ~.domain.Speaker –class ~.domain.Talk –notNull controller all –package ~.web logging setup –level INFO –package ALL_SPRING |
(*) Fijaros que el commando entity en la versión 1.2 de Roo es ligeramente diferente….
o Lo lanzo con roo>script –file proyecto.roo
· Compilo el proyecto con roo>perform package
· Ahora ya puedo desplegar la aplicación en Cloud Foundry:
roo>cloud foundry deploy –appName NombreAplicacion –path targetconference-0.1.0.BUILD-SNAPSHOT.war
NOTA: el nombre de la aplicación debe ser único, si no ponéis un nombre único os dará este error:
![]()
![]()
![]()
· Una vez desplegada la aplicación puedo ver las aplicaciones, instancias,…
roo>cloud foundry list apps
![]()
· Y ya podemos arrancar la aplicación:
roo>cloud foundry start app –appName LuismiCloudFoundry1
![]()
· Y por supuesto acceder a ella en http://luismicloudfoundry1.cloudfoundry.com
· Puedo ver el estado de la aplicación, la instancia,…:
· Los Servicios provisionados:
· Provisionar más memoria para la aplicación:
En el próximo post veremos cómo provisionar otros servicios (por ejemplo como pasar a una base de datos MySQL).
Podéis ver el soporte del addon de Spring Roo a Cloud Foundry aquí,
Esto que hemos visto desde la consola Roo también se puede hacer desde Spring Tool Suite, podéis verlo aquí: http://blog.springsource.com/2011/04/13/using-cloud-foundry-from-sts/












Replica a Luis Miguel Gracia Luis Cancelar la respuesta