1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Cloud9+heroku+Rails7でデプロイまで。

Last updated at Posted at 2023-02-20

m1Macを買ってからずっとプログラミングをしていなかったが、久しぶりにやろう。

でもRailsでm1環境構築とかハマりそうで嫌だな。

せや、Cloud9・GitHub・Herokuあたりの省力構成でやってみるか。
詰まりどころはメモして、次回楽にいけるようにしておこう。

という記事。

cloud9の設定注意点

Amazon Linux2を選ぶと、herokuにデプロイする際にpgがインストールできずに死ぬので
Ubuntuを選択すること。(死んだ)

cloud9立てた後、Ruby・Railsのバージョンをアップデート、インストールしていく

2023/2/20時点での最新RubyとRailsを入れていく。

rvm get stable // はじめにrvmのバージョンをアップデート
rvm install ruby-3.2.1 //Rubyの3.2.1インストール
rvm --default use 3.2.1 // デフォルトでruby-3.2.1が使用できるようにする
rvm list // デフォルトでruby-3.2.1が使用できるようになったか確認する

rails -v // 現在のrailsのバージョンを確認します → 多分入ってないはず
gem install rails -v 7.0.4.2

インストールまで参考
https://engineering.divx.co.jp/entry/2022/07/25/174742

rails sでblocked hostされて繋がらない時の対処法

GitHubとcloud9を繋ぐ

cloud9上でSSH keyを作って、コピーして、GitHub上で登録。

その後、cloud9上からGitHubへpush。

HerokuとGitHubを繋ぐ

heroku上でGitHubと繋いで、Auto Deploy設定をする。
最初のデプロイの時はcliよりデプロイボタンからいくのが分かりやすくて楽かな。

image.png

#cloud9上のGUIからコミットした時のエラー
Make sure you configure your 'user.name' and 'user.email' in git.のエラーが出たときの対処法。
下記コマンドを実行する。

git config --global user.name "ユーザー名" 
git config --global user.email "メールアドレス"

参考↓

herokuではpostgresしか使えないので、productionではpgを使うように設定

このサイトの下の方を参考。
https://engineering.divx.co.jp/entry/2022/07/25/174742

#scaffoldでとりあえずDB含めて1個作成

rails g scaffold Osusume title:string shot_title:string
rails db:migrate //DBのマイグレート

rails sでローカルブラウザで見れることを確認
image.png

herokuへデプロイ。

ここではDBをmigrateしていないためApplicarion Errorが出る。

cloud9へheroku cliのインストール

mfa(多要素認証)のせいでcloud9上でheroku cliへログインできない件の対処

db migrateまで

sqliteの設定になってしまっているので、postgresを使うようにgemfileとdatabase.ymlを変更

gemfileの参考記事

【Herokuでデプロイしてネットにアプリを公開する】あたりを参考

database.ymlの参考記事

socketエラー(postgresのdatabase作ってなかったので)が出たので、postgresのaddonを追加してmigrateする。
https://qiita.com/fujisawaqiita/items/5ba024e5dcc04dfc009b

heroku addons:create heroku-postgresql -a narou-susume2-staging
heroku run rails db:migrate -a narou-susume2-staging

デプロイとDB作成まで済んで、正常動作まで行けた。

image.png

image.png

追記独自ドメイン対応

↓上記だとwwwのURLのみに対応になってしまったので、こっちで対応。
https://qiita.com/shinshin86/items/87dd3adc6879fc35ea6e#cloudflare%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6ssl%E5%AF%BE%E5%BF%9C%E7%84%A1%E6%96%99%E3%83%97%E3%83%A9%E3%83%B3

追記2023/2/25 herokuで自動でrails db:migrateを走らせる

Readmeとかと同じ場所に Procfileを作成する。

中に下記を記述。

release: bundle exec rails db:migrate

参考

追記2023/2/27 rails7にbootstrap5を後で追加

参考記事
https://qiita.com/devzooiiooz/items/262f71e737f94738debf

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?