激あま！RenderでRubyアプリを無料で簡単にデプロイ

## デプロイ案内はサイトに記載されている

*参考サイトRuby with Render*

https://docs.render.com/deploy-rails

:::note warn
無料枠はアプリ１個までなので、複数持つことはできません。
:::

## 著者のつまずいた箇所

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
 ↑この一文をコメアウト解除する。

```


:::note info
動画ではデプロイ（マニュアル）だが、著者はデプロイ（設計図）
の別方法を取った。
:::

Blueprintでデプロイすると数分でできてしまったので
Herakuとかで頑張ってエラー解消したり苦労してた自分はなんだったのかと思えてくる。

参考までに、著者のデプロイ方法を簡単に記述しておく。

## 簡単なデプロイ方法

:::note warn
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にプッシュしておいて下さい。

:::note info
デプロイ用のファイルについてはYoutube動画やRender公式サイトが
わかりやすいので下記に２つとも載せておきます。
:::

## 参考用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をクリック


![スクリーンショット 2024-10-11 16.07.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/6ba110fb-074b-a1cf-5442-279946773bca.png)


2.New Blueprintsをクリック
![スクリーンショット 2024-10-11 16.16.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/e02e2396-667a-e2f1-ab10-16ce82e25d76.png)

3.デプロイしたいレポジトリを選んで、コネクトのボタンをクリック
![スクリーンショット 2024-10-11 16.17.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/3c097b4d-6f11-f7a4-12d7-4b3284dd627a.png)

4.Create all ・・・を選択し表れた RAILS_MASTER_KEY のvalue
をconfig/master.keyファイルの内容に設定します。その後、[Approve]をクリックします。

![スクリーンショット 2024-10-11 16.23.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/a7e8563a-f5cd-99d2-6c63-268e0d8f7a99.png)

その後、デプロイがもし失敗した場合、ダッシュボードを見に行ったら
web serviceとデータベースが作成されているので
もう一度マスターキーをコピペして再度デプロイすると
うまくいくケースがあります。

*マスターキーの場所はweb serviceのエンビロメントにあります*

![スクリーンショット 2024-10-11 16.28.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/b8856954-51b3-9e7d-b7b5-a008453f1866.png)


*デプロイの実行は右メニューのManual Deployの一番上にある
Deploy latest commitをクリック

![スクリーンショット 2024-10-11 16.29.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3870482/945b343d-44a8-d357-38b5-0b12ee36367f.png)

Render最高！Render最高！

お疲れ様でした！