🪂
Fly.ioでRailsアプリをデプロイしてみた
はじめに
- railsアプリをFly.ioでデプロイを試したことを簡潔にまとめました
- DBはPostgreSQL
- UserモデルをScaffoldで作成
- デプロイでやることをパッと確認したい人向けに書いています。
環境
- macOS Ventura 13.3.1
- Ruby 3.2.2
- Rails 7.0.6
手順
アカウント作成
こちらからアカウントを作成
クレジットカード情報を入力
ダッシュボードの「Add a payment method」からクレジットカード情報を入力
flyctl をインストールする
flyctl: アプリを管理するためのCLIアプリ
$ brew install flyctl
ログイン
$fly auth login
Opening https://fly.io/app/auth/cli/274a081a150483aef0a4bb62d1ea3c4b ...
Waiting for session... Done
successfully logged in as [your email]
railsアプリの準備
DBはpostgresql。テストはなし。
$ rails new fly_sample -d postgresql -T
$ cd fly_sample
$ rails db:create
$ rails g scaffold User name
$ rails db:migrate
routes.rb
Rails.application.routes.draw do
resources :users
# root_pathを設定
root "users#index"
end
RailsとPostgresサーバーのプロビジョニング
$ fly launch
# アプリケーション名を指定(=> enterで自動で作成される)
? Choose an app name (leave blank to generate one):
# リージョンを指定(=> Tokyoを選択)
? Choose a region for deployment:
> Tokyo, Japan (nrt)
# PostgreSQLをセットアップ
? Would you like to set up a Postgresql database now? Yes
# 構成の選択(=> Developmentを選択)
? Select configuration:
Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk
# リソースの使用を停止し、ノードをシャットダウンするか(=> hobbyのためNo)
? Scale single node pg to zero after one hour? No
# Redisのセットアップ(=> 今回は不要)
? Would you like to set up an Upstash Redis database now? No
デプロイ
$ fly deploy
動作確認
アプリケーションにアクセス
$ fly open
Discussion