HerokuとRailsを使うために必要なソフト
HerokuとRailsを使えるようにするには、以外と多くのことをやらないといけません。以下に必要なソフトをまとめました。ドットインストールを見て仮想開発環境の構築を行うとpostgresqlとHeroku以外は入っている状態になっています。
- git
- postgresql
- ruby
- Rails
- Heroku
postgresqlの導入記事は以下に書いておきました
CentOS6にpostgreSQLを導入して使えるようにするまで
Herokuを使えるようにするまでの記事は以下に書いておきました。Herokuを導入するにはまずはHerokuのアカウントを取得する必要があります。
CentOS6にHerokuを導入してHerokuコマンドを使えるようにするまで
初回Heroku公開
まずはherokuにログインとpostgresqlを立ち上げます。postgresqlのサービススタートはお使いの環境によってコマンドが異なるかもいしれません。
$ heroku login $ sudo service postgresql-11 start
まずはRailsアプリを作成します。Herokuはデータベースにpostgresqlを使っているので、postgresqlを指定してアプリを作成します。ここでgitの初期を行っておくとよいかと思います。
$ rails new appname -d postgresql $ git init
次にGemfileを編集します。以下のもの追加すればよいようです
#scaffold確認用に必要 gem 'therubyracer', platforms: :ruby gem 'jquery-rails' #herokuを使うために必要 gem 'rails_12factor', group: :production
次にProcfileを作成します。Procfileはherokuで特定のコマンドを使えるようにするために必要です。以下の内容を記述して保存します。
web: bundle exec rails server -p $PORT
ここまでできたらgitにコミットします。$ git add .でもいいのですがエラーがでるかもしれないので、git add -Aにしておきます。
git add -A git commit -m "hoge"
次に$ heroku createを実行します。このコマンドを実行するとアプリのURLとリモートが作成されます。
herokuのアプリ名は$ heroku appsでみることができます。$ heroku apps:infoでアプリのURLをみることができます。リモートな内容は.git/configファイルに記述してあります。
$ heroku apps | herokuのアプリ名を見る |
---|---|
$ heroku apps:info | アプリのURLを見る |
$ cat .git/config | .git/configファイルの内容を表示する |
筆者の場合はherokuアプリのurlにrailsアプリ名が含まれていたので以下のように書き換えました。
url = https://git.heroku.com/#rails app name#.git
url = https://git.heroku.com/#heroku app name#.git
herokuにpushします
$ git push heroku master
成功したらherokuにpostgresqlのアドオンを追加します
$ heroku addons:add heroku-postgresql
次にheroku runします
$ heroku run rake db:migrate
ここまでやるとようやくherokuアプリのURLにアクセスできるようになります。
2回目・再起動
再度herokuアプリにアクセスしようとするherokuアプリにアクセスできなくなります。このあたりはherokuのプランを参照する必要があるかと思います。$heroku psコマンドで確認するとdynoがスリープしていることがわかります
For more information on dyno sleeping and how to upgrade, see:
再度herokuへpushしてdynoを起動します。場合によってはgit commitをしておきます。
$ git add. $ git commit -m "hoge" $ git push heroku master
とりあえずこれでアクセスできるようになります。
そのほかの情報
プロセスやログをみたるめのコマンドを書いておきます。
$ heroku ps #プロセスを見る $ heroku ps:scale web=2 #dynoを増やす ※有料 $ heroku logs #ログを見る ※1500行まで $ heroku logs --tail #リアルタイムにログを見る $ heroku maingtenance #メンナンスモードの状態を表示 $ heroku maintenance:on #メンテナンスモードをon $ heroku maintenance:off #メンテナンスモードをoff
herokuのアプリがおかしいときはherokuのファイルの中身をみることができます
$ heroku run bash #herokuの中身をみることができるモードになる $ heroku run rails console #herokuでrails consoleを立ち上げ
herokuにpushしたものはreleasesというものでみることができて、前のバージョンに戻すことも可能です
$ heroku releases #リリースの一覧を表示する $ heroku releases:rollback #バージョンを戻る $ heroku releases:rollback v2 #指定したバージョンに戻す
コメント