概要
herokuの無料版が11月28日に終了するため、
Railsアプリをfly.ioにデプロイし直しました。
備忘録として実施手順を残します。
環境
Ruby on Rails : 6.1.7
ruby : 3.0.1
postgresql : 14.6
macOS : 13.0.1
デプロイ手順
fly.io利用準備
インストール〜アカウント登録〜サインイン
ターミナルにて
brew install flyctl # flyctlのインストール
flyctl auth signup
# アカウント登録
# Webサイトが開くので画面にしたがって登録
# GitHubアカウントでも登録可能
flyctl auth signin
# サインイン
# Webサイトが開くので、「Try Fly.io for free」でサインイン
デプロイ準備
必要ファイル生成〜一部ファイル修正
アプリのルートディレクトリのターミナルにて
fly launch # デプロイに必要なファイルを生成
# 初回実行時に、クレジットカードの登録が求められるので登録
# 参考:生成ファイル一覧
# .gitignore
# Dokerfile
# fly.toml
# lib/tasks/fly.rake
# 途中の質問への回答
# Choose an app name (leave blank to generate one): 自分のアプリ名
# Choose a region for deployment: Tokyo, Japan (nrt)
# Would you like to set up a Postgresql database now? Yes
# Select configuration: Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk
# Would you like to set up an Upstash Redis database now? No
Dockerfile
- ARG RUBY_VERSION=3.0.1
- ARG VARIANT=jemalloc-bullseye-slim
+ ARG RUBY_VERSION=3.0
+ ARG VARIANT=jemalloc
※下記ページにて利用できるバージョンを選定して修正
https://quay.io/repository/evl.ms/fullstaq-ruby?tab=tags&tag=latest
※Rubyのバージョンによっては修正不要
fly.toml
[build]
[build.args]
BUILD_COMMAND = "bin/rails fly:build"
SERVER_COMMAND = "bin/rails fly:server"
+ RUBY_VERSION = "3.0.1"
# .ruby-versionファイルと同じバージョンを指定するための記載
デプロイ実行&seedデータ投入
ターミナルにて
fly deploy # 5分ほど待ちぼうけ
fly ssh issues --agent # ssh接続
fly ssh console -C "app/bin/rails db:seed" # seedデータ投入
デプロイ確認
ターミナルにて
fly open # 無事閲覧できればOK!
参考にさせていただいた記事