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

2015-09-02

Tracksを Cloud Foundry で動かす

「Cloud Foundry 百日行」第52日目は、Rails製GTDツールTracks です。
GTDは「Getting Things Done」の略で、タスク管理手法のひとつです。

TracksはGTDに特化している為、GTDを実践するのに適したWebアプリケーションです。

基本情報

手順の概要は以下の通りです。

  • 1) ソースコードの取得
  • 2) 事前準備
  • 3) アプリの起動
  • 4) 動作確認

1. ソースコードの取得

$ git clone https://github.com/TracksApp/tracks.git
$ cd tracks/
$ git checkout v2.3.0
$ ls
app  config     COPYING  doc       Gemfile       lib  mkdocs.yml  Rakefile   test
bin  config.ru  db       features  Gemfile.lock  log  public      README.md  vendor

2. 事前準備

2.1. 設定ファイル準備

$ cp config/site.yml.tmpl config/site.yml

2.2. Gemの追加

『pg』と『rails_12factor』を追記します。

$ vi Gemfile

gem 'pg'
gem 'rails_12factor'

追記内容を確認します。

$ git diff Gemfile

diff --git a/Gemfile b/Gemfile
index b9de2b7..482d03f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,8 @@
 source 'https://rubygems.org'

+gem 'pg'
+gem 'rails_12factor'
+
 gem 'rails', '~> 4.1.11'
 gem 'sass-rails', '~> 4.0.3'
 gem 'coffee-rails', '~> 4.0.1'

bundle installを実施しGemfile.lockに変更を反映させる。

$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]

$ bundle install --path vendor/bundle

pushの際のサイズを小さくする為、vendor/bunldleをpush対象外に設定します。

$ vi .cfignore

vendor/bundle
/.bundle

2.3. manifestファイルの準備

---
applications:
- memory: 256m
  command: 'bundle exec rake db:migrate; bundle exec rackup --port=$PORT'
  env:
    RAILS_ENV: 'production'
    BUNDLE_WITHOUT: 'development:test:selenium'

2.4. PostgreSQL Serviceの準備

$ cf push tracks --no-start
$ cf create-service PostgreSQL 'Basic PostgreSQL Plan' tracks-pgsql
$ cf bind-service tracks tracks-pgsql

3. アプリの起動

cf start tracks
:
Showing health and status for app tracks in org morika-t / space morika-t as morika-t...
OK
 
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: tracks.10.244.0.34.xip.io
last uploaded: Tue Aug 25 00:57:27 UTC 2015
stack: cflinuxfs2
buildpack: Ruby
 
     state     since                    cpu    memory           disk      details
#0   running   2015-08-25 10:00:47 AM   0.0%   145.8M of 256M   0 of 1G

成功しました。

4. 動作確認

ブラウザからアプリにアクセスします。

動作確認のため、ログイン画面で以下の値を入力します。

フィールド
“Desired login” 任意のユーザ名
“Choose password” 任意のパスワード
“Confirm password” “Choose password”と同じ値

“Signup”をクリックするとログインします。

タスクのRSS化やiCal連携も行う事が可能です。

※ Adminのimport機能が動作しない場合は以下を実施します。

$ mkdir -p public/uploads/csv
$ cf push tracks

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



投稿者:NTTソフトウェア株式会社 森川 健