見出し画像

docker-composeのRailsアプリをherokuにデプロイする

MySQLを使ったRailsアプリを開発Docker-composeで作っている場合、そのままherokuにデプロイできる。

herokuのインストール

rootユーザでcurlでshellを持ってきて実行する。/usr/local/binあたりにインストールされるので、全ユーザでherokuコマンド使えるようになる。ただ、herokuコマンドは関連付け済みのgitリポジトリが無いと反応しないのでheroku info打ってみてエラーが出たらリポジトリのあるディレクトリに移動する必要がある。

# curl https://cli-assets.heroku.com/install-standalone.sh | sh

herokuログイン

heroku loginはどこでもできる。

$ heroku login

heroku app 作成

`heroku create`だけだとランダムなapp名で作られる。指定したい場合は-app の後にapp名を指定する。

$ heroku create

(参考)すでにあるapp名をつけようとすると

他の人がすでに作ってしまったapp名をつけようとすると、すでにあるよと怒られる。

fk2000:~/workspace/jack_app (master *=) $ heroku create www
Creating ⬢ www... !
▸    Name is already taken

MySQLプラグイン追加

MySQLを使っている場合は下記コマンドでプラグインを追加する。

プラグインを追加する場合は無料で使い続けるとしても、クレジットカード情報が必要になるのでご注意を。

postgresqlの場合はこの手順不要。

$ heroku addons:create cleardb:ignite

heroku環境変数

DB接続情報などはheroku用の環境変数に登録しておく必要がある。

一旦下記コマンドで接続情報を取得する。

$ heroku config

以下の書式で出てくる値をconfig:addしていく

mysql://[username]:[password]@[hostname]/[db_name]?reconnect=true

それぞれの変数を設定していく。

$ heroku config:add DB_NAME="[db_name]"
$ heroku config:add DB_USERNAME="[username]"
$ heroku config:add DB_PASSWORD="[password]"
$ heroku config:add DB_HOSTNAME="[hostname]"
$ heroku config:add DB_PORT="3306"

herokuデプロイ

さあいよいよherokuデプロイです。config/environments/production.rbあたりを準備して下記コマンドでデプロイできます。

ここから先は

133字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

サポートいただけますと、サーバー代に当てまして、さらなる技術記事のモチベーションにさせていただきます!