2011年4月15日

cloudfoundryできるかな

cloudfoundryを利用するクライアントにはvmcとSTSの2系統あり、STSを用いずにgrailsをコマンドラインからvmcでアップ(push)しようとしたのですがあまり良い挙動ではありませんでした。 その後grailsのcloudfoundryプラグインを使ったところ、こちらは問題なく動くようなので、vmcを無理に使おうとせずに素直にプラグイン経由で行うのが良いかと思います。 rails3/sinatra/node -> vmc 続きを読む
1
バクシーン石橋 @studiomaestro

cloudfoundaryのベータ垢が来たのでトライ

2011-04-15 05:05:14
バクシーン石橋 @studiomaestro

とりあえずツール環境は大別して2つあると。vmcっていうのとSTSってのがあって、なんじゃこりゃって感じ。前者はrubyで書かれたコマンドラインツール、STSは簡単に言うと「SpringSourceのEclipse」。GUIならこっちと。

2011-04-15 05:07:53
バクシーン石橋 @studiomaestro

ちなみにSTSは標準ではcloudfoundaryをサポートしてなくて、STSを立ち上げた後eclipse的にプラグインをインストールして使う必要がある。導入手順 => Using Cloud Foundry from STS http://t.co/7nRSsuT

2011-04-15 05:10:56
バクシーン石橋 @studiomaestro

もちろん使いたくないのでvmcを先に調べます

2011-04-15 05:13:25
バクシーン石橋 @studiomaestro

vmcのscreencastではvmcを入れてからsinatraアプリをたちあげるまでが見れるもよう。 YouTube - vmc Getting Started - Cloud Foundry Command Line Interface http://t.co/foVlzss

2011-04-15 05:14:23
バクシーン石橋 @studiomaestro

でもこれだったらherokuでもいいしここは敢えてgrailsアプリを動かすべきだと思うの。

2011-04-15 05:15:06
バクシーン石橋 @studiomaestro

とりあえずvmc getting started的なページにpdfがあるのでそれを参考に。なんかpdf内のスクリーンショット画像が潰れてていろいろ酷い。 http://t.co/LRsoBVN

2011-04-15 05:17:00
バクシーン石橋 @studiomaestro

マニュアル 01) sudo gem install vmc でインストールね。はいはい。

2011-04-15 05:18:09
バクシーン石橋 @studiomaestro

コマンドが通ったらhelpをみて世界観を掴みます http://gist.github.com/920403

2011-04-15 05:22:04
バクシーン石橋 @studiomaestro

マニュアル 02) vmc target api.cloudfoundry.com APIエンドポイントの指定だよね。デフォルトで入れててもいいんじゃね?って思うけどいやいや指定する。 http://gist.github.com/920408

2011-04-15 05:23:57
バクシーン石橋 @studiomaestro

マニュアル 03) vmc login でログイン。メールで送られてきた一時パスを入れる。無事通った。 http://gist.github.com/920416

2011-04-15 05:25:45
バクシーン石橋 @studiomaestro

vmc runtimesでは利用可能なランタイムが見れる。node 0.4.5, java1.6, rubyは1.8.7と1.9.2p180の2つが表示されてる。http://gist.github.com/920436

2011-04-15 05:29:15
バクシーン石橋 @studiomaestro

vmc frameworksではサポートされるフレームワーク一覧が出る。node/grails/spring/rails3/sinatra。こっちにもバージョン表示は絶対必要だと思うが今はなし。http://gist.github.com/920444

2011-04-15 05:30:56
バクシーン石橋 @studiomaestro

vmc serviceでは利用可能なサービスが見れる。mysql/redis/mongodb。DBばっかだけどキャッシュとかMQなんかもここに入ってくるのかね。 http://gist.github.com/920452

2011-04-15 05:33:33
バクシーン石橋 @studiomaestro

System Service(=利用可能なサービス種類一覧)、Provisioned Service(=割り当て済みサービス)って感じでしょう。 サービスに名前をつけてプロビジョニングした後にアプリにバインディングしますよと。

2011-04-15 05:35:32
バクシーン石橋 @studiomaestro

vmc create-service mongodb mongotest みたいにやると mongodbサービスが名前mongotestで使えるようになると。ちゃんとProvisioned Servicesに出てきた。 http://gist.github.com/920468

2011-04-15 05:37:38
バクシーン石橋 @studiomaestro

さて先に進むとしよう。マニュアルの04以降の段取りではアプリ書いてpushしてはいできましたっていう平和なストーリーなんだけど、springもrails3もnodeも動くわけだしこのsinatraをgrailsに変えるのはただディレクトリの中身が違えるだけでいいのか不安。

2011-04-15 05:45:14
バクシーン石橋 @studiomaestro

でも別にsinatraアプリを上げてるときsinatraですともrubyですとも引数みたいなのはいらないのよね。まんまやってみるか。

2011-04-15 05:45:51
バクシーン石橋 @studiomaestro

ソースの中にだいぶ大味な自動検出を発見。基本ディレクトリの中身からフレームワークは判別されますと。 https://github.com/cloudfoundry/vmc/blob/master/lib/cli/frameworks.rb

2011-04-15 05:47:04
バクシーン石橋 @studiomaestro

自動判別は素敵ではあるんだがspring/grailsアプリはwarのZipEntry前提で判別してるのでwarじゃないとjavaアプリは上げられないのかな。

2011-04-15 05:50:17
バクシーン石橋 @studiomaestro

まぁとりあえずアプリを作ります。 grails create-app cf-spike たまにやると衝撃的に出力が多くてびびるのがなんとなくjavaの系譜。

2011-04-15 05:51:03
バクシーン石橋 @studiomaestro

おお、アプリのタイプが判別できないから種類入れてって言われた。ここでGrailsと入れればよいのね。warじゃなくても問題ない。

2011-04-15 05:52:30

コメント

このプラグインはサポートされていません @studiomaestro 2011年4月15日
grailsで grails install-plugin cloud-foundry のように入れると grails cf-xxx でだいたいのvmcコマンドがマップされてる。vmcと違って起動がくそ重いのでストレスは溜まるのでvmcでも済むものはそちらを使うのがいいと思う。ただgrailsアプリについては grails prod cf-push APPNAME みたいにやらないとだめでした。単にvmcだとビルドが走らないとかだけかもしれないけど。
0
このプラグインはサポートされていません @studiomaestro 2011年4月15日
vmcとは別にgrailsのcfプラグインは独自の認証情報を要求するのでなんか釈然としなかったのでvmcアニンストールしたらそれでもgrails cf-xxx系は動くので。両者は別物のようです。
0
このプラグインはサポートされていません @studiomaestro 2011年4月15日
プラグインのソース http://t.co/WSod9jO。見るとAppCloudClient.jarっていうライブラリを使ってて、STS(Eclipse)のプラグインと共通のクライアントライブラリをgrailsコマンドに統合している雰囲気。
0
このプラグインはサポートされていません @studiomaestro 2011年4月15日
つまりgrailsだけ動かしたいのであればvmcは不要(多少コマンドのレスポンスが悪いけどね)で、「cfプラグインを足す」「認証用プロパティを足す」「DataSourceをいじる」ぐらいで上がると。
0