12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【ゆるふわ🔰】Docker + Rails + Heroku =「Yay! You’re on Rails!」【本番環境構築】

Last updated at Posted at 2018-12-16

どんな記事か

  • DockerでRailsを起動した人が、herokuで本番環境を構築できるようになります

どんな人が読むといいか

  • DockerでRailsを起動して、「Yay! You’re on Rails!」を表示させている人
  • 本番環境に「Yay! You’re on Rails!」を表示させたい人

完成後イメージ

↓これが本番環境に表示されている。
スクリーンショット 2018-12-16 20.46.59.png

前提条件

  • DokerでRailsを起動「Yay! You’re on Rails!」を表示させている
  • Herokuアカウントを持っている(無料)
  • GitHubアカウントを持っている(無料)

やること(2章立て)

第1章 Railsのファイルたちをいじくる
第2章 Herokuコマンドでデプロイする

第1章 Rails側のファイルたちをいじくる

いじくられるRailsのファイルは3つ

Gemfile

  • 以下を追加します
  • 特にpg方はバージョン指定'~> 0.19.0'ここがミソっぽいです
Gemfile
gem 'sqlite3', groups: %w(test development), require: false
gem 'pg', '~> 0.19.0', group: :production, require: false

heroku.yml (なければアプリの直下にこのファイルを作ろう)

heroku.yml
build:
  docker:
    web: Dockerfile
run:
  web: bundle exec puma -C config/puma.rb

database.yml

  • configディレクトリの下にあるはず
  • 以下を追加しましょう
  • もし初めから「production」が記載されていたら、コメントアウトしておいてね
database.yml
production:
#半角スペース2個分の空白を開ける
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

いじくり完了後、GitHubさんにpushしておきましょう。
忘れずに!!

第2章 Herokuコマンドでデプロイする

ここからは、こちらの記事のほぼパクリです。

Herokuにログインする

ターミナル
$heroku login

ログインできない場合、ここを参考にするとよいですよ。

Herokuにアプリケーションを作成する

ターミナル
$heroku create

Guiからでも作成できますが、なんかうまくいかなかったので、
ターミナルからやろう。

Heroku Container Registryにimageをアップロードするためにログインします

ターミナル
$heroku container:login

ここらへんは丸パクリです。だまってやりましょう。

その後コンテナをpushします。

ターミナル
$heroku container:push web

ここらへんは丸パクリです。だまってやりましょう。

DBにPostgreSQLを使用しているので、add-onを追加します。

ターミナル
$heroku addons:create heroku-postgresql:hobby-dev

ここらへんも丸パクリです。だまってやりましょう。

pushしたアプリケーションをリリースします。

ターミナル
$heroku container:release web

どうやらリリースしないとうまく動かないようです。

Herokuにデプロイ

ターミナル
$git push heroku master

これで完成

ターミナル
$heroku open

このコマンドを打つと自動でアプリが開きます!

(必要になったら)本番環境(heroku)でのマイグレーション

ターミナル
$heroku run rails db:migrate

ただ立ち上げる時は不要です。
ただ、必要になる場合が来るかもしれないので書いときます。

まとめ

  • Rails側のファイルを編集すること
  • Herokuのコマンドを正しくつかうこと
  • 本当にこれであってるのかな?

次回作にご期待ください。

参考文献

12
10
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
12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?