Ruby on Rails: アプリの作成と本番環境へのデプロイ - Fuwafuwa's memorandum

Fuwafuwa's memorandum

Data analysis, development, reading, daily feeling.
MENU

Ruby on Rails: アプリの作成と本番環境へのデプロイ

目次
railsアプリの作成
Gitへcommit
herokuへデプロイ


railsアプリの作成

mkdir SampleApp
cd SampleApp
rails new sample_app --skip-bundle
cd sample_app
bundle install --path vendor/bundle
gemをシステムではなくアプリにインストールするよう、--path vendor/bundleを記載してください。
index画面を編集するためにapp/views/sample/index.html.erbを下記のように編集します。

This is sample.

ターミナルから下記を実行して[ localhost:3000/index ]に飛ぶと、先ほど編集した画面が表示されます。
rails s


Gitへcommit

git init  ## 初期化
git add -A   ##ファイルの追加
git status  ##ステージングの確認
git commit -m "Initialize repository" ## リポジトリに反映
git push
 


herokuへデプロイ

herokuは最大5アカウントまで無料でサーバーを利用できるサービスです。
アカウントがない場合には公式サイトから登録します。

Heroku: Cloud Application Platform

Ruby on Rails ではデフォルトでsqlite3が採用されていますが
herokuはsqlite3に対応していないため、そのままデプロイしようとするとエラーになります

RailsアプリのGemfileを
開発環境ではsqlite3を、本番環境ではPostgreSQLを利用するように書き換えます。

Gemfileの書き換え前
gem 'sqlite3'
 
Gemfileの書き換え後
gem 'sqlite3', group: :development
gem 'pg', group: :production
 
ターミナルで上記の変更を反映させます。
bundle install
 
herokuでPostgreSQLを利用できるようconfig/database.ymlファイルを書き換えます。
書き換え前
production:
  <<: *default
  database: db/production.sqlite3
 

書き換え後
# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000  

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db/test.sqlite3

##production:
##  <<: *default
##  database: db/production.sqlite3

 
Gemfileに下記を書き加える。
group :production do
  gem 'pg'
end
 
productionを除いてbundle install
bundle install --without production
 
herokuにログインしSSHキーを追加。
heroku login
heroku keys:add
 
herokuにアプリを作成。ここで表示されるアドレスがアプリのアドレスとなる。
heroku create 
 
Herokuにデプロイ
git push heroku master
アプリの確認
heroku open


参考。ありがとうございました。
Ruby on Rails チュートリアル
挫折した人必見!HerokuでRailsアプリを公開する方法

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。