2008年9月18日木曜日

GrailsアプリをMorph AppSpaceで動かしてみる

●morphでデプロイするPluginがあった....
参考はここです。
ゲンゾウさん作成のGrailsプラグインをインストールすれば、
grails deploy-morph
で終了です。

●DataSource.groovyの中に書くProductionのDataSourceについて
ここを参考にしました。
上記Pluginからデプロイさせればgrails install-templatesをしてweb.xmlを触る必要ないです。
自分は、これではまった後、Pluginを見つけました。
ちなみに下記のように書き換えました。(サンプルはMySQLだったのでPostgresに変えました)
production {
dataSource {
  dialect = org.hibernate.dialect.PostgreSQLDialect.class
  driverClassName = "org.postgresql.Driver"
  username = "Username" //dashbord→database→show detail→username
  password = "Password" //dashbord→database→show detail→password
  dbCreate = "update"
  url = "jdbc:postgresql://*Host*:5432/*Name*?CharSet=UTF-8"
}
}

●補足
morph_deploy.propertiesをMorphAppSpaceのControllePanelから落としてきて、Grailsアプリの直下に置きます。

morph.usernameと、morph.passwordを追記するapplication.propertiesファイルは、Grailsアプリ直下です。既存の内容の下に追記すればよいです。書いてないと、grails deploy-morphの後に、UsernameとPasswordを聞かれます。

●Grailsアプリ
http://mkawa.morphexchange.com/に置いてあります。
Bookのドメインクラスを作って、コントローラには、scffoldを書いただけのものです。

●動かしてみた感想
もっさり感がちょっと。認証付きの状態のアプリなら全公開でもいいけど、途中の段階で、全世界にお披露目するのは、どうなのかなと自分のSubscription自体に認証かけられるといいんだけどなぁ。いちいちテストサーバ立てるのもめんどいし(もしくは空いてないし)、っていう面では重宝しそう。ただ、お客へのプレゼンツールとしては無理ですねえ。とすると、検証用のテストアプリとかそういうのを確認用として置くのはいいかもしれないな。Jettyみたいだし。何か作ったりした後、説明だけだと本当に動いてるか分からないし。これするとエラーでるんだぜっていうのを出したりとか?あと完成して、多少もっさりしててもいいからっていう場合?

●関係ないけど
domainClassに付加させたいものを、ゲンゾウさんのPluginにあるsrc/templates/artifacts/DomainClass.groovyを見て、いつも山本氏の言っているartifactsを使って「規約によるコーディング」をするんだい、というのが、そういうことなんだなと、なんとなく分かった気がする。意味違ったらごめんね。

0 件のコメント: