Fin_IT

FinanceとITに関する記事をメインに。

herokuを使ってRailsで開発したアプリをデプロイ

今回はherokuを使ってWeb上にRailsにて自作したWebアプリケーションをデプロイすることを目標に以下の題目で話を進めたいと思います
・herokuについて
・アプリケーションをデプロイする方法

・herokuについて
f:id:stock_study:20200322165349p:plain
herokuとは開発したWebアプリケーションを簡単に公開できるサービスです。
また、月1000時間の稼働、ドメイン設定できない、30分動かない場合はサーバーがスリープモードに入るという制限であれば、無料のプランがあるのでお金を払わずにとりあえずネットにアップしてみたいという方にはお勧めです。
開発したWebアプリケーションはローカルホスト内のみでしかアクセスできませんでしたがherokuにアップすることで誰でもアクセス可能の状態にすることができます。
このように開発したアプリを誰でも利用可能の状態にすることをデプロイと言います
herokuにデプロイする方法はいくつかあるのですが今回はメジャーであるgitを使ったデプロイ方法を紹介したいと思います
デプロイするには開発サービスが必要なのでこの段階で未開発の方はこちらの記事を参考にサクッと開発して下さい
stock-study.hatenablog.com
また、開発したサービスをgitにてローカルリポジトリにコミットしていることが必須なのですが、そちらがまだの方はこちらの記事を参考にコミットした状態にしておいてください
stock-study.hatenablog.com
それでは、具体的な方法について解説していきたいと思います
・アプリケーションをデプロイする方法
デプロイは以下の手順にて行っていきます
Rails側でgemfileの変更
②heroku上でアカウント作成
③herokuのインストール
④herokuにアップする場所をつくる
⑤heroku上にアップする


Rails側でgemfileの変更
raillsではデフォルトでSQLiteというデータベースを使用するように設定されているのですが、
herokuではSQLiteは対応していないため、herokuで対応するデータベースに変える必要があります
今回はheokuではPostgreSQLを使用するようにします
これらの変更を行うためにgemfileでは2点変更する必要があります
まずsqliteを開発環境でのみ使用するため
gemfileにて以下のように gem 'sqlite3', '~> 1.3.6'をgroup :development, :test doの下に移動させてください

group :development, :test do
  gem 'sqlite3', '~> 1.3.6'
end

続いて本番環境(heorku)にてPostgreSQLを使用するために

group :production do
  gem 'pg', '0.20.0'
end

と記述してください
これができたらgemfileの内容を実行する為に
ターミナル上にて

bundle install --without production

を実行してください
今回オプションとして--without productonをした理由は開発環境ではPostgreSQLを使用しない為です
ここまできたら変更内容をローカルリポジトリに記録しましょう

git add -A
git commit -m "heroku用にgemfileの変更"

これでherokuにアップするためのRails側での準備は終了です


②heroku上でアカウント作成
herokuを利用するためにはアカウントの作成が必要になるので下記公式ページよりアカウントの作成をお願いします
クレジットカード情報を入力すると無料で使える時間が550時間/月から1000時間/月に変わるので持参している方は記入することをお勧めします
signup.heroku.com


③herokuのインストール・ログイン
herokuがあるかどうかわからない方はターミナル上で

heroku -v 

と入力してみてください
バージョン名等の返答がない場合はインストールされていないので下記コマンドにてインストールをしましょう

curl -OL https://cli-assets.heroku.com/heroku-linux-x64.tar.gz
tar zxf heroku-linux-x64.tar.gz && rm -f heroku-linux-x64.tar.gz
sudo mv heroku /usr/local
echo 'PATH=/usr/local/heroku/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile > /dev/null

次にターミナルからherokuに以下のコマンドでログインしましょう

heroku login --interactive

この際にアカウント作成に使用したメールアドレスおよびパスワードを求められるので入力するとログインできます


④herokuにアップする場所をつくる
下記コマンドにてheroku上にアップする場所の作成を行います
なおこのコマンドは保存したいディレクトリ上で行ってください

heroku create

これでheroku上に保存場所の確保ができました


⑤heroku上にアップする
それでは最後にローカルリポジトリの内容をheoku上にアップしましょう
下記コマンドにてアップができます

git push heroku master

するとアップする作業が始まります
最終的にターミナル上に

https://whispering-tor-0784.herokuapp.com/ deployed to Heroku

のようなものがあるのでそれがあなたのデプロイ先のurlになります
このurlはherokuサイト上でもSettingの欄から確認できます
実際にurlを入力すると
f:id:stock_study:20200322192526p:plain
アップできていることが分かります


以上がherokuを使ったRailsアプリのデプロイの方法になります
参考になりましたら幸いです

Twitterにても情報発信を行っているので良ければフォローの方お待ちしております