LoginSignup
1
0

More than 3 years have passed since last update.

素のrailsアプリをherokuにデプロイ

Posted at

Dcokerコンテナ上に、Railsアプリを組んでCircleciを使って自動デプロイまでを一気にやろうとしたら
迷宮入りしたので、原点回帰しようと思います。

herokuへデプロイする練習

自分の環境

Ruby : 2.6.6
rails : 6.0.3.2
git : 2.23.0
heroku-cli : 7.42.13 darwin-x64 node-v12.16.2

Railsアプリを用意する

terminal
$ rails new heroku_app #今回はheroku_appというものを用意
$ cd heroku_app
$ rails g scaffold blog title:string body:text
$ rake db:migrate
$ rails s

Railsアプリをデプロイする準備

  • config/routes.rbの設定
  • Gemfileの設定
  • config/datebase.ymlの設定
  • config/enviroments/production.rbの設定

config/routes.rbの設定

config/routes.rb
Rails.application.routes.draw do
   resources :blogs
   root 'blogs#index' #トップページをblogsコントローラのindexアクションに設定
end

スクリーンショット 2020-09-09 0.00.04.png

Gemfileの設定

今回はherokuの無料枠で使えるpostgreSQLを使います。
ちなみにMySQLは有料枠になります。
※pg:production:本番環境のherokuは、postgreSQLを使うよって意味になります。

Gemfile
group :development, :test do
  gem 'sqlite3' #do ~ end内部に追加。他のgemは残してください。
end
group :production do
  gem 'pg'
end

さっき更新したGemfileの変更をbundle installする。

terminal
$ bundle install --without production

※ちなみに、このオプションは一度打ち込めば、アプリ内部の/bundle/configというところに書き込まれるため、
それ以降は--without producitonを打たなくても本番環境以外のgemをインストールしてくれるようになります。
その他のbundle install時のオプションは全てここに書き込まれます。

このようになっていたらOK

.bundle/config
BUNDLE_WITHOUT: "production"

cinfig/database.ymlの設定

実際にデータベースと接続する設定をします。

config/database.yml
production:
#半角スペース2個分の空白を開ける
<<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

adapter: postgresql - postgreSQLのデータベースに接続します。
encoding: unicode - unicodeという文字コードを使用します。
pool: 5 - DBに接続できる上限の数を決めます。今回は5。

config/environments/production.rbの設定

本番環境での動的な画像の表示をONにする。

config/enviroments/production.rb
#デフォルトでfalseとなっている以下の箇所をtrueに変更
  config.assets.compile = true

herokuへデプロイの準備を行う

git経由でアップロードをします。

teminal
$ git init #このフォルダをgitと紐付けます。(最初の一回だけ)

変更したら毎回やるやつ

terminal
$git add -A #保存するファイルの選択。-Aは全部
$git commit -m "first commit" #addしたファイルの保存の確定

herokuへ登録する

terminal
$heroku login
$heroku create アプリ名 #自由にどーぞ、空欄でも可。ちなみにすでに誰かが作って存在する場合はエラーが出るので、別名をトライ。
$git push heroku master

本番環境でのマイグレーション

terminal
$heroku run rails db:migrate

スクリーンショット 2020-09-09 10.44.50.png

終わり!

ちなみにheroku runをつけるとheroku上でrailsコマンドを打つことができます。
参考にさせていただいた記事通りに行えば、素のrailsをherokuにデプロイすることは容易にできました。
元記事の説明が大変丁寧でわかりやすく、感謝しています。
参考記事:https://qiita.com/kazukimatsumoto/items/a0daa7281a3948701c39

1
0
1

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
1
0