New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

Heroku + Cloud9 + Bitbucket でアプリを作る際に最初にやるべきこと

SporkとGuardいれたら、rspecが動かなくなったので、再度、3章の環境を再構築するついでに、「Heroku + Cloud9 + Bitbucket でアプリを作る際に最初にやるべきこと」をまとめたいと思う。

いわゆる総集編ってやつである。

追記: 今思えば…gemfileを書き直して、bundleし直せば、元の状態に戻ったのではないかと//

 

 操作方法

# まずはRailsをスタートさせます。チュートリアル仕込みなのでテストユニットはインストールしません。Cloud9では"rails new"できないので、普通にRailsワークスペースを作ります。

$ rails new sample_app --skip-test-unit

# Gemfileに必要なモジュールを追加して(リスト3.1)、bundleします。ここは作りたいアプリケーションに合わせて変更すること。

$ bundle install --without production
$ bundle update
$ bundle install

# gitで変なファイルを共有しないように .gitignoreファイル(リスト1.7)をアプリのルートに作成します(メニューバーからFile > New File)。Cloud9のGUIでは、先頭にドットの付いたファイルが表示されないので作成したことを忘れないように注意しておきます(ターミナルでは"ls -a"で確認できます)。

# Railsのコードを外部に公開してもセキュリティが保てるように、Railsのセッション変数の暗号化トークン(config/initializers/secret_token.rb)を、動的に生成できるように変更(リスト3.2)しておきます。

追記: リスト3.2 のトークンファイルは、アプリケーション名が"sample_app"用に作られています。アプリケーション名が異なる場合(例えば、Tutorial_appとした場合)、最終行の一文を変更する必要があります。

(旧)SampleApp::Application.config.secret_key_base = secure_token

(新)TutorialApp::Application.config.secret_key_base = secure_token

 # テストツールをインストールします。

$ rails generate rspec:install

# Capybara DSLRSpecヘルパーファイルに追加します。

RSpec.configure do |config|

(中略)

  config.include Capybara::DSL

end

 # ローカルのgit repositoryを初期化します。

$ git init

$ git add .

$ git commit -m "Initial commit"

 # Bitbucketをリモートレポジトリに登録して、ソースコードをプッシュします。

$ git remote add origin git@bitbucket.org:<UserName>/tutorial_apps.git

$ git push -u origin master

 # Herokuにソースコードをディプロイします。メニューバーのView > Sidebar > Deploy Pannelを選択してサイドバーを開きます。サイドバー右上の[ + ]ボタンを押して、ウィザードに従ってHerokuアプリケーションをCloud9に登録します。

# Rakeできるようにするため、Heroku Clientをインストールします。

$ cd ~

$ wget http://assets.heroku.com/heroku-client/heroku-client.tgz

$ tar xzfv heroku-client.tgz

$ rm heroku-client.tgz

$ cd heroku-client/bin

$ PATH=$PATH:$PWD

 # Heroku Clientを使えるようにセットアップします。

$ heroku login

Enter your Heroku credentials.

Email: <Email Address>

Password (typing will be hidden): <password>

Authentication successful.

 以上で作業はおしまいです。

チュートリアルの第三章では、最後にテスト自動化ツールの"Guard"と、Rails環境を記憶してテストを高速化する"Spork"をインストールしていますが、今回は見送ります。