デプロイ案内はサイトに記載されている
参考サイトRuby with Render
無料枠はアプリ1個までなので、複数持つことはできません。
著者のつまずいた箇所
- master.keyファイルが作成されていなかった。
参考サイトmaster.key作成
https://qiita.com/naokit-dev/items/5e09b2fb4b64a29712e4
サイト内を参考にして、使用した説明とそのコマンド
②master.keyの中身がわからない場合
credentials.yml.encに機密情報を追記した覚えがない、運用するつもりもない、
または記述した内容が消えてしまっても再現可能な場合にこの方法を試してください
一旦credentials.yml.encを削除して、
master.keyもcredentials.yml.encもない状態をつくる
そして次のコマンドを入力
sudo EDITOR="vi" rails credentials:edit
2.デプロイ時にエラー
[エラー内容]
ActiveRecord::Schema[7.2].define(version: 2024_10_10_065259) do
#These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "posts", force: :cascade do |t|
t.text "title"
t.text "body"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
これについては、Renderのサイトをちゃんと見れてなかった。
binファイルにrender-build.sh
を作成した時に
無料プランはマイグレされないから、コメントアウト消して
マイグレするようにーーと書かれていた。
# If you're using a Free instance type, you need to
# perform database migrations in the build command.
# Uncomment the following line:
bundle exec rails db:migrate
↑この一文をコメアウト解除する。
動画ではデプロイ(マニュアル)だが、著者はデプロイ(設計図)
の別方法を取った。
Blueprintでデプロイすると数分でできてしまったので
Herakuとかで頑張ってエラー解消したり苦労してた自分はなんだったのかと思えてくる。
参考までに、著者のデプロイ方法を簡単に記述しておく。
簡単なデプロイ方法
Rubyアプリ構築過程はYoutube参照しました
開発環境:
Rails7
Ruby3.3.4
Github
macOS Sonoma バージョン14.6
Github情報
https://github.com/ayaka0525/myapp
Render利用の条件:
・Code編集が必要(VSCODEなど)
・Githubアカウントとリポジトリ(新規リポジトリ作成→デプロイしたいアプリデータを保存しておく--)が必要
・Render新規アカウント登録が必要(Githubアカウントでログイン)
デプロイ準備(サイト参照)
・PostgreSQL使用(データベース):詳しくはサイト参照
・binファイルにrender-build.sh作成:詳しくはサイト参照
・congifファイルのroutseが root "posts#index"など
設定されていること
・Gemfileなどのファイルと同じ場所にrender.yaml作成:詳しくはサイト参照
などなどをやっていきます。最後にgithubにプッシュしておいて下さい。
デプロイ用のファイルについてはYoutube動画やRender公式サイトが
わかりやすいので下記に2つとも載せておきます。
参考用URL
参考にしたYoutube
https://www.youtube.com/watch?v=2T2rfxSCBdA&t=18s
参考サイトRuby with Render
https://docs.render.com/deploy-rails
※再掲載
Renderでデプロイ
1.Renderに新規登録して"githubアカウント"でログインしたら、
Blueprintsをクリック
3.デプロイしたいレポジトリを選んで、コネクトのボタンをクリック
4.Create all ・・・を選択し表れた RAILS_MASTER_KEY のvalue
をconfig/master.keyファイルの内容に設定します。その後、[Approve]をクリックします。
その後、デプロイがもし失敗した場合、ダッシュボードを見に行ったら
web serviceとデータベースが作成されているので
もう一度マスターキーをコピペして再度デプロイすると
うまくいくケースがあります。
マスターキーの場所はweb serviceのエンビロメントにあります
*デプロイの実行は右メニューのManual Deployの一番上にある
Deploy latest commitをクリック
Render最高!Render最高!
お疲れ様でした!