LoginSignup
24
23

More than 5 years have passed since last update.

Ruby on RailsをCloud9からHerokuへデプロイするセットアップ覚書

Last updated at Posted at 2015-09-04

はじめに

RailsをCloud9からHerokuをデプロイした際にいろいろ詰まったので、成功した際の諸条件を覚書で残しておきます。

Cloud9でRailsのインストール

Cloud9のBashターミナルで以下をタイプ。

~/workspace $ gem install rails -v 4.2.2

バージョンは好きなやつで。

Cloud9上で新しいRailsプロジェクトの作成

Bashターミナルで以下をタイプ。

~/workspace $ rails _4.2.2_ new sample_app
~/workspace $ cd sample_app
~/workspace $ bundle install --without production

*先にインストールしたRailsと同じバージョンで。

Cloud9のサーバ上でアプリが動いていることの確認

まずコントローラにHello Worldファンクションを追加。

sample_app/app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  def hello
    render text: "Hello World"
  end
end

あとRouteの設定をする。

sample_app/config/routes.rb
  # You can have the root of your site routed with "root"
  root 'application#hello'

保存したら、Bashのターミナルで以下をタイプしてサーバを立ち上げる。

~/workspace/sample_app $ rails server -b $IP -p $PORT

Cloud9ページの右上の方にShareというボタンがあるのでそれを押すと、ApplicationへのURLリンクがある。それをコピーして、ブラウザで確認してみる。

画面に無事 Hello Worldと出ればまずはOK。

Gitの設定

以下のコマンドをBashターミナルでタイプ。Gitの設定をする。
名前とEmailアドレスは自分のものを入力する。

~/workspace/sample_app $ git config --global user.name "My Name"
~/workspace/sample_app $ git config --global user.email sample@sample.com
~/workspace/sample_app $ git config --global push.default matching
~/workspace/sample_app $ git config --global alias.co checkout

Gitをイニシャライズして、ファイルをコミットする。

~/workspace/sample_app $ git init
~/workspace/sample_app (master) $ git add -A
~/workspace/sample_app (master) $ git commit -m "Initialize"

Bitbucketでリモートレポジトリの作成

BitbucketでGitリポジトリを作成。今回はsample_appという名前で作成。するとRepository setupというページに飛び、下のほうにI have an existing projectというボタンがあるので押す。

以下のようなターミナル用のコードが書かれているので、それをそのまま一行ずつCloud9のBashターミナルにコピペする(Bitbucketのユーザ名によってコードは異なる)

git remote add origin git@bitbucket.org:XXX/sample_app.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags

Herokuにデプロイする

まずはherokuにログインする。Herokuで登録したEmailアドレスとパスワードを聞いてくるので、それを入力する。

~/workspace/sample_app (master) $ heroku login

次にHerokuプロジェクトを新しく作り、GitデータをHerokuにプッシュする。

~/workspace/sample_app (master) $ heroku create
~/workspace/sample_app (master) $ git push heroku master

無事プッシュが終わったら、ターミナル上に書いてあるURLに飛んで、無事 Hello Worldが表示されれば成功。

起こりうるエラーと対処法

Rails 4.2.2をインストールするとsqliteのバージョンが1.3.10であったが、これはHerokuではまだサポートされていないらしくプッシュできなかった。なのでその場合、Gemfileでsqliteのバージョンを1.3.9にし、以下のコマンドをタイプしてBundleのアップデート及びGitを更新することで無事Herokuにデプロイできた。

~/workspace/sample_app (master) $ bundle install
~/workspace/sample_app (master) $ git add -A
~/workspace/sample_app (master) $ git commit -m "Updated Gemfile"
~/workspace/sample_app (master) $ git push heroku master
24
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
23