Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

Herokuリリース手引き

Last updated at Posted at 2023-11-10

Windowsで自分のプロダクトをリリースしよう!

1.Gitを利用できるようにしよう

環境構築でGitをインストールしたことは覚えていますか?これはリリースする際に必要で、バージョン管理を手助けしてくれるツールです。

このGitを利用するためにユーザー名とemailを登録する必要があります。以下のコマンドの"名前"と"メールアドレス"の部分を変更して、実行してください!

コマンドプロンプト
git config --global user.name "名前"
コマンドプロンプト
git config --global user.email "メールアドレス"

2.herokuを使えるようにしよう

heroku(ヘロク)』は、自分のサービスを、みんなが見れるように置いておくサーバーですね!それを使えるようにしましょう!!

herokuCLIをインストールします!

heroku CLI(ヘロク・シーエルアイ)』をインストールすることによって、PCからデプロイしたりサーバーの設定を変更したりすることができるようになります。

ツールはこちらからインストールしておきましょう。
heroku CLI インストール画面

インストールが出来たら、コマンドプロンプトを再起動して、以下のコマンドを打ってみてください。

コマンドプロンプト
heroku --version

インストールしたバージョンが出てきたらインストールは完了しています。
これでherokuを使う準備はばっちりです!

3.自分のプロダクトに、リリースするための準備をしよう

これからherokuにデプロイする準備をします。

コマンドプロンプト
cd desktop
cd (自分のサイトのフォルダ名)

で自分のプロジェクトフォルダに移動しましょう。

Gemfileの編集

Gemfileをherokuサーバー上で動くように編集していきます。

まず、gem 'sqlite3', '~> 1.4'」と書いてある行(9行目付近にあります)をコメントアウトしましょう。(これらは、自分のパソコンの中のrails app内で用いるデータベースのgemです。) 

変更前
image.png

変更後
image.png

次に、Gemfileの31行目付近にあるgroup :development, :test doendの間に
gem 'sqlite3'を追加
してください。

変更前

Gemfile
group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

変更後

Gemfile
group :development, :test do
  gem 'sqlite3' # 開発環境ではsqlite3を利用
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

最後に以下の記述をそのままGemfileの最後の行に追加してください。

Gemfile
group :production do
  gem 'pg'
end

Railsではsqliteというデータベースが利用されるようになっています。
しかし、herokuではPostgreSQLというデーターベースを利用するので設定を変更する必要があるのです。

ただ、PostgreSQLを利用するのは本番環境のみなので、group:productionというオプションを追加して本番環境のみで使うようにしています。

Gemfileを書きかえて保存したら、自分のアプリの階層で、下記のコマンドによりGemfileの変更を反映させましょう!!

コマンドプロンプト
bundle install --without production

withoutオプションについて

 今回本番環境用のgemのリストが書いてあるgroup:productionの中に、gem 'pg' を記入したと思います。これは、herokuで用いられているpostgresというデータベースに接合するために必要なgemです。今回は、ローカル環境にはpostgresをインストールしていないのでwithoutオプションをつけています。

database.ymlの編集

herokuPostgreSQLを使うためには、もう一箇所データベースの設定を変更する必要があります。

config/database.ymlファイルの中身を書き換えます。

以下のように本番環境を表しているproductionの項目を変更しましょう。
ymlファイルはインデント(字下げ)を必ず半角スペース2つで行い、全角の空白は使わないように注意してください。
半角と全角は見分けることが難しいので、間違って打ってしまうと探すのに一苦労します...^ ^

変更前

config/database.yml
production:
  <<: *default
  database: db/development.sqlite3

変更後

config/database.yml
production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

production環境下でのデータベースがsqliteからpostgresqlに変わってるのがわかると思います。
.ymlの拡張子を持ったファイルはYAMLというデータを構造的に記述していく特殊なファイルです。
インデントが文法の意味を持っていますので、注意してください。

トップページ(ルーティング)の設定

本番環境では、トップページ(root)を一つ設定する必要があります。

すでにrootを一つ記述している方はそのままで大丈夫です。2つ以上rootを定義してしまうとエラーが発生します。

もし、rootページを記述していなければ、config/routes.rbに追記してください。

(例)

config/routes.rb
root 'tweets#index' # 追記(indexページをトップページにする場合)

一般化するとroot 'コントローラー名#アクション名'という記述になります。自分のトップページを入力してくださいね!

config/environments/production.rbの設定

これが最後の編集です。

動的な画像を表示させるために、以下の記述をfalseからtrueに変えてください。
31行目あたりにあると思います。

config/environments/production.rb
config.assets.compile = true

3.いざリリースへ!!

ここで、先ほどインストールしたgitを使っていきます。

デプロイしたいrailsアプリ内にgitの設定ファイルを作成したいので、必ずrailsアプリケーションの階層にいることを確認してから(ふだんrails sするところ)、以下のコマンドを入力してください。

コマンドプロンプト
git init

4.herokuにログインしよう

「heroku CLI」をインストールしたので、コマンドプロンプトからherokuを操作することができます。

まずはherokuにログインします

以下のコマンドを入力してください

コマンドプロンプト
heroku login

herokuに登録したemailとpasswordの入力を要求されたら、入力しましょう。

写真のようになれば成功です。
image.png

次に、heroku上にRailsアプリケーション用のサーバーを作成します。

アプリの名前はurlになるものです。半角英字なのはもちろんですが、使えない記号(_など)もあるので、シンプルなものにしておきましょう。
ちなみにアプリの名前を空欄にすると自動生成してくれます。

コマンドプロンプト
heroku create 好きなアプリの名前

次に、herokuでrubyとnode.jsを使えるように設定します。

herokuのダッシュボードに行き、

image.png

Settingsをクリック

image.png

Add Buildpackを押し、nodejs(※使ってる人のみ)とrubyを追加します。
以下の写真のようになれば成功です。

スクリーンショット 2023-11-04 162155.png
※Buildpacks内は必ず、上からheroku/node.jsheroku/rubyになるように注意してください。
アプリ内にpackage.jsonがない人はrubyのみで大丈夫です。

これでアプリを作ることができます。
既に名前が使われているものは作成できないので注意してください。

作成できたらherokuの公式サイトにログインして、サーバーが作成されているか確認しておくといいでしょう。

5. 公開してみよう!

準備が整ったので、いよいよ実際にデプロイします!まずはgitにファイルを登録し、そのあとにherokuに登録します。

必ずrailsアプリケーションのディレクトリーにいることを確認してから(ふだんrails sするところ)、以下のコマンドを打ってください。

コマンドプロンプトンに以下を順番に入力しましょう。

コマンドプロンプト
git remote
git add -A
git commit -m "Release to heroku"

ここで初めてgitを使ってコミットした人は、githubに登録したemailusernameの入力を求められる場合があるので、入力してあげましょう。

下記のコマンドでデプロイできます。(※まだ終わりじゃありませんよ!!)

コマンドプロンプト
git push heroku master

git push heroku masterが失敗する人は以下の記事を読んでください
Heroku リリースエラー知見集


Heroku上で画像投稿機能(cloudinary)を登録しよう

画像投稿機能を実装している場合は更に追加で以下のコマンドを実行してください。
(Cloudinaryの認証が済んでいない人は、画像投稿ができないので、このタイミングで済ませておきましょう。認証したかどうか思い出せない人はメンターに相談してみましょう。)

(xxxxxxxxxxのところはCloudinaryのマイページで取得した自分のキーに書き換えておいてください)

コマンドプロンプト
heroku config:set CLOUD_NAME=xxxxxxxxxx
heroku config:set CLOUDINARY_API_KEY=xxxxxxxxxx
heroku config:set CLOUDINARY_API_SECRET=xxxxxxxxxx

また、他のAPIキーを.envファイルに記述している場合も、上記と同様の作業にheroku上で値を登録しましょう!


データベースの作成!

手順1:

herokuのダッシュボードに行き、Resourcesfind more add -onsを押します。

スクリーンショット 2023-11-04 183519.png

手順2:

アイコンの中から、Heroku Postgresを選択します。
image_360.png

手順3:

Plans & Pricingから、使いたいデータベースを選択
image_480.png

手順4:

右上のInstall Heroku Postgresを押します
image_720.png

手順5:

App to provision to に先ほど作成したアプリ名を入力します。

image.png

手順5:

Submit Order Formを押します

スクリーンショット 2023-11-13 002907.png

以上でデータベース作成は終了です。


heroku上でマイグレーションしましょう!

続けて、今回はデータベースを使ったアプリケーションを公開するので「migrate」で本番環境のデータベースを更新します。(migrationファイルを基に本番環境のデータベースが構築されます)

コマンドプロンプト
heroku run rails db:migrate

上記コマンドにより、色付きでデータベース構築ログが出力されるはずです。

heroku run rails db:migrateが失敗する人は以下の記事を読んでください
デプロイエラー対応まとめ①

デプロイエラー対応まとめ②

本番環境のherokuを操作する場合は、コマンドがRailsと違いHerokuなので間違えないように注意しましょう。

また、seedファイルに初期レコードを定義している場合(聞き覚えのない方はここを飛ばして大丈夫です)は、以下を実行します。

コマンドプロンプト
heroku run rails db:seed

これで公開は完成です!!

実際にアプリケーションにアクセスしてみましょう!

コマンドプロンプトから以下のコマンドでアプリケーションを開くことができます。

コマンドプロンプト
heroku open 

ここまでお疲れ様でした!!これでHerokuのデプロイは終了です。

6.再デプロイ

一度公開すると色々な人からフィードバックなどをもらって、修正したくなることが必ずあると思います。(むしろ、アップデートすることがサービス作りの面白さを実感する部分かもしれません)それでは修正を行ってみましょう。

Vscodeを変更して、、、保存、、

これだけではローカル(localhost3000)では変更されますが、http://~の方には変更が加えられません。その為、再デプロイという作業を行っていきたいと思います。

修正してみよう!

とっても簡単で、回数制限もないので気軽にやっていきましょう。
railsアプリケーションのフォルダ―上

コマンドプロンプト
git add -A
git commit -m "○○.index.erbを修正" #変更内容のメッセージを付けましょう。
git push heroku master
heroku open

これで完了です。

以上で、再デプロイは終了です! お疲れ様でした!
できたらぜひメンターに見せてくださいね。

最後に

webコースデプロイまで頑張ってくれてありがとう!
自分のアプリを作ったことを今後の自信につなげてください!デザインが残っている人はデザインも頑張ってください!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?