$ grails create-app morika
$ cd morika/
repositories と plugins に1行ずつ追加する
repositories {
mavenRepo "http://maven.springframework.org/milestone/"
}
plugins {
compile ":cloud-foundry:1.2.3"
}
$ grails create-domain-class org.example.Music
中身はこれ
package org.example
class Music {
String title
Integer bpm
byte[] jacket
static constraints = {
title( blank: false )
jacket( type:'materialized_blob',maxSize:10240000 )
}
}
$ grails generate-all org.example.Music
コントローラにimageアクションを追加する
def image(Long id) {
def music = Music.get( id )
if( music ){
response.outputStream << music.jacket
}else{
response.sendError(404)
}
}
music/list.gsp の41行目付近
<td>${fieldValue(bean: musicInstance, field: "jacket")}</td>
を↓に変更する
<td><g:if test="${musicInstance.jacket}">
<img src="<g:createLink controller='music' action='image' id='${musicInstance.id}' />" />
</g:if></td>
grails.plugin.cloudfoundry.username="morika-t@hogehoge.com"
grails.plugin.cloudfoundry.password="hogefuga"
grails.plugin.cloudfoundry.username="http://api.cloudfoundry.com/"
こちらでも設定可能
grails.plugin.cloudfoundry.username="demo@example.com"
grails.plugin.cloudfoundry.password="demopassword"
grails.plugin.cloudfoundry.appname="grailsmusicdemo"
変更不要。CloudFoundryが対応したデータソース
- PostgreSQL
- MySQL
- MongoDB
- RabbitMQ
- Redis
は自動的に検出・対応してくれる
$ grails prod cf-push
Application Deployed URL: 'mygrailsapp.cloudfoundry.com'? y
Would you like to create and bind a mysql service?[y,n] n
Would you like to create and bind a postgresql service?[y,n] y
Application 'mygrailsapp' started at http://mygrailsapp.cloudfoundry.com/
再デプロイは
$ grails prod cf-update
インスタンス数の表示・変更
$ grails cf-show-instances
$ grails cf-update-instances 2
メモリ割り当ての表示・変更
$ grails cf-stats
$ grails cf-update-memory 1G
ログの確認
$ grails cf-logs
アプリケーションの起動/停止/再起動
$ grails prod cf-stop
$ grails prod cf-start
$ grails prod cf-restart
リモートのファイル確認
$ grails cf-list-files /
$ grails cf-get-file logs/stderr.log
アプリケーションの削除・全削除
$ grails cf-delete-app
$ grails cf-delete-all-apps
http://docs.cloudfoundry.com/frameworks/java/spring/grails.html
http://blog.springsource.com/2011/04/12/one-step-deployment-with-grails-and-cloud-foundry/
http://docs.cloudfoundry.com/tools/deploying-apps.html