at backyard

Color my life with the chaos of trouble.

TracksをHerokuで試す

Tracksとは?

TracksはRuby on Railsで書かれた、 シンプルなTodoリストアプリ。

www.getontracks.org

ちょっと試してみたかったので、公式のインストールガイドを参考にして実践した。
non-programmer向けと書いてあるけど、コマンドラインからHerokuにデプロイとかしている時点で
プログラマー向けなんじゃないのか?
コード書いていないインフラ系の人でも出来ますよ、というニュアンスなのかな?
それとも今のご時世、"Herokuなんて、アンタそりゃーiPhone使えりゃ誰でも使えまっせ"というレベルなのだろうか?

つまらないこと言っていないで、公式の情報を参考に試していく。

github.com

TracksをHerokuにインストールする

Githubからcloneする

git clone https://github.com/TracksApp/tracks.git

rootに移動してから作業していく

cd tracks

production.rb内のキャッシュの設定を変更する(エディターはお好きなものを)

vim config/environments/production.rb 

# 変更箇所はgit diffで取ったdiffを貼り付けていく
-  config.action_controller.perform_caching = true
+  config.action_controller.perform_caching = false

site.ymlをコピーする

cp -p config/site.yml.tmpl config/site.yml
vim config/site.yml

設定する項目は4箇所

  1. secret_token => ランダムな文字列
    (tracksのディレクトリで"rake secreat"を実行すれば自動で更新できるとのこと=>これは未検証)

  2. メールアドレス => 任意のアドレスを設定

  3. open signup = >falseのまま
    (誰でもusernameでサインアップ可能にするには"true"にする。spamに注意!)

  4. メールプロバイダの設定=>設定していない

Gemfileを更新

vim Gemfile

Gemfileの変更箇所をgit diffにて表示

使用するRubyバージョンを記述

source 'https://rubygems.org'
+ruby '2.3.0'

DBはpostgres使用するので、sqlite3とmysql2は削除して、pgを記述

-gem "sqlite3", group: :sqlite
-gem "mysql2", "~> 0.3.17", group: :mysql
+gem "pg"

rails_12factoryを追記

+gem 'rails_12factor'

Gemfileの編集箇所はここまで

Procfileを新規作成して、

vim Procfile

下記の一行を記述

web: bundle exec rails server thin -p $PORT -e $RACK_ENV

bundle install実施。
自身の環境を汚したくなかったので、下記のようにして"bundle install"

bundle install --path vendor/bundle

libv8関連でエラーが吐かれたので、下記を実行。
(Mac OSX環境だと発生するエラーらしい。)
エラー解決のために参照した記事は下記に貼っておく。

bundle update libv8

.gitignoreを開き、"config/site.yml"をコメントアウト

vim .gitignore

-config/site.yml
+# config/site.yml

gitリポジトリに追加してコミットする。追加するのは"site.yml"と"Gemfile.lock"

git add config/site.yml Gemfile.lock
git commit -a -m "Updated/add the site information and bundle additions for Heroku"

Herokuにてアプリ作成({NAME}に任意の名前を入力)

heroku create {NAME} --stack cedar-14

production環境のみで

heroku config:add BUNDLE_WITHOUT="development:test:selenium"

herokuにpushする

git push heroku master

Heroku上でDBをmigrateする

heroku run rake db:migrate

Heroku上で構築したアプリを開く

heroku open

すると、下記のような無骨な画面が現れるので、管理者Userを作ればOK!

f:id:shinshin86:20161105185936p:plain

参照記事

github.com

qiita.com