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よりデプロイボタンからいくのが分かりやすくて楽かな。
#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のマイグレート
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作成まで済んで、正常動作まで行けた。
追記独自ドメイン対応
↓上記だと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