オープンソースのPaaSソフトウェア CloudFoundry の技術情報やイベント告知などを掲載します

2015-06-12

Asciiflow を Cloud Foundry で動かす

本日の第7回「Cloud Foundry 百日行」は、asciiflowです。
今回のアプリもHTMLとJavascriptなのでこれまで同様の簡単な手順で動作させることが出来ます。

[asciiflow]基本情報

デプロイ

手順

  • 0) 準備
  • 1) アプリの起動
  • 2) 動作確認

0.準備

まずはソースコードの取得をしましょう。
ここではローカルの適当なWorkSpaceで作業を行っています。

$ git clone https://github.com/lewish/asciiflow2.git
$ cd asciiflow2
asciiflow2$ ls
addtohomescreen.css closure-compiler.jar  images   jquery-1.9.1.min.js  jquery.jeditable.min.js  js-lib
addtohomescreen.min.js compile.sh       index.html  jquery-1.9-externs.js  js-compiled.js    README

今回のアプリはディレクトリの中身を眺めてみると.jarファイルが入っています。
一見Javaアプリかな?とも思えるのでREADMEを読んでみると

  • 1) compile.shを使ってコンパイル
  • 2) 1)が実行できない時はclosure-compiler.jarに実行権を付与
  • 3) simple web serverを起動

となっており、1)2)の手順はclosure-compiler.jarを使ってjs-compiled.jsを作成するようです。

その後、WEBServerを起動するようですが、しかし既に作成済みのjs-compiled.jsも提供されている為、
手順1)2)は省略することができます。

結果、closure-compiler.jarと./js-libは動作には不要となりこれまでにも紹介してきたhtmlとjavascriptの組み合せのアプリになります。

1.アプリの起動

ではCloud Foundry上にアプリをデプロイしてみましょう。
まず作成するのはmanifest.ymlとStaticfile。

asciiflow2$ touch Staticfile
asciiflow2$ vi manifest.yml

---
applications:
- name: asciiflow2
  memory: 64M
  buildpack: https://github.com/cloudfoundry/staticfile-buildpack

今回はStaticfileを作成しました。このファイルが無くてもStaticfile Buildpackは動作します。しかし
Buildpackによってはアプリをデプロイした際のオプションにBuildPackを指定してもBuildpackの適用条件を満たしていない場合
起動してくれません。利用するBuildpackの動作条件は確認しましょう。

準備が整ったのでpushします。

asciiflow2$ cf push

:

OK

requested state: started
instances: 1/1
usage: 64M x 1 instances
urls: asciiflow2.10.244.0.34.xip.io
last uploaded: Thu Jun 11 07:19:50 +0000 2015
stack: lucid64

     state     since                    cpu    memory        disk      details   
#0   running   2015-06-11 04:20:07 PM   0.0%   7.3M of 64M   0 of 1G      

上記のようなログが見えればデプロイ成功です。

2.動作確認

ブラウザで動作確認を行ってみましょう。
asciiflow2.10.244.0.34.xip.ioにブラウザでアクセスをしてみると・・・

ちゃんとアプリが起動しています。
GoogleDrive(アカウントが必要)へのAutoSave以外の機能は試しましたが問題なく利用できます。

今回使用したソフトウェア