Fly.ioであなたのアプリをオンラインにあげよう

翻訳者: Mai Muta, @maimux2x

このガイドでは、作成したアプリをFly.ioにデプロイして、オンラインで誰でも利用できるようにします。このガイドの後、友人や家族とリンクを共有し、このワークショップで作成したものを見せることができるようになります。

Fly.ioで小さなアプリを1つだけデプロイする場合、無料で利用が可能ですが、いくつかの制限があります。

Help from the coach

Fly.ioに導入するメリットと従来のサーバーとの比較について話してみましょう。

本番用データベースを変更しよう

ローカル環境では、あなたのアプリはデータを保存するためのデータベースとしてSQLiteを使用しています。Fly.ioのデプロイでは、別のデータベースを使用する方が簡単です。Fly.ioでデプロイするために、本番用のデータベースをPostgreSQLを使用するように変更していきましょう。

pg gemをインストールしよう

テキストエディタでGemfileファイルを開き、以下の行を

gem "sqlite3"

以下に変更します。

group :development do
  gem "sqlite3"
end
group :production do
  gem "pg"
end

次に、以下のコマンドを実行し、新しいデータベースgemをセットアップします。

bundle install --without production

データベースの設定を更新しよう

続いて、本番環境のデータベース構成を変更する必要があります。

Help from the coach

Railsの複数ある環境が何かを説明しましょう。Production とは何でしょうか?

テキストエディタで config/database.yml ファイルを開きましょう。ファイル内の以下の行を

production:
  <<: *default
  database: storage/production.sqlite3

以下のように変更します。

production:
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  database: railsgirls_production
  username: railsgirls
  password: <%= ENV["RAILSGIRLS_DATABASE_PASSWORD"] %>

新しいコミットを作成し、Git に変更を保存します。デプロイするために、これらの変更をGitに保存されているアプリに対して更新する必要があります。

git add .
git commit -m "Use PostgreSQL as the production database"

Fly.ioのアカウントを作成しよう

Fly.ioのサインアップページにアクセスし、フォームに必要事項を入力して、新規ユーザーアカウントを作成しましょう。

次の画面で、「Try Fly.io for free」リンクをクリックします。Fly.ioを無料で利用するためにクレジットカードを入力する必要はありません。

Fly.io CLIをインストールしよう

Fly.ioでアプリをデプロイするには、Fly.io CLIというターミナルアプリのツールを使用する必要があります。

このFly.ioのドキュメントページのインストール手順に従ってインストールをしてください。Fly.io CLIのインストールが完了したら、このガイドの続きを進めていきましょう。

Fly.io CLIにログインしよう

以下のコマンドを実行して、Fly.ioのユーザーアカウントをあなたのパソコン環境に反映させ、ターミナルアプリでFly.ioを使用してアプリをデプロイします。

flyctl auth login

ブラウザ上に新しいタブまたはウィンドウが表示されます。先ほど作成したFly.ioのユーザーアカウントでログインするか、「Continue as …」で始まるボタンをクリックします。これでFly.ioにCLIでログインしたことになります。

デプロイのためにアプリの設定をしよう

以下のコマンドを実行し、アプリに必要な設定を行い、デプロイを実行します。

fly launch

質問の回答を求められるため、以下を入力または選択してください。

  • Choose an app name:
    • railsgirls-yourname を入力し、Enterを押します。
    • “yourname”の部分はあなたの名前かニックネームに変更しましょう。
  • Choose a region for deployment:
    • 矢印キーで自分に一番近い地域を選び、次に Enter を押しましょう。
  • Would you like to set up a Postgresql database now?
    • y を入力して Enter を押しましょう。
  • Select configuration:
    • リストの中から”Development”を選択しましょう。
  • Would you like to set up an Upstash Redis database now?:
    • n を入力して Enter を押しましょう。

これで、アプリがFly.ioでデプロイができるように設定が完了しました。デプロイする前に、これらの変更をコミットする必要があります。以下のコマンドで変更をコミットしましょう。

git add .
git commit -m "Configure for Fly.io deployment"

デプロイを実行しよう

以下のコマンドを実行するとデプロイが行われます。 アプリに新しい変更を加え、今後その変更をデプロイしたい場合も、同様です。

fly deploy

アプリのデプロイが完了するまでに必要なステップの結果がターミナル上にたくさんのテキストとして出力されていると思います。出力が完了するまで待機しましょう。デプロイが完了すると「v0 deployed successfully」と表示されるはずです。

デプロイされたアプリを見てみよう

これで、あなたのアプリは今、デプロイがされました。これはつまり、他の人たちがオンラインでアプリを見ることが可能であることを意味します。実際にアプリを見るために、以下のコマンドを実行して、ブラウザで開いてみましょう。

fly open

最初のアプリのデプロイが完了しました!おめでとうございます!ブラウザのアドレスバーに表示されたリンクを共有して他の人たちにも見てもらいましょう!


Fly.ioでデプロイを実行したため、他のサービスにアプリをデプロイする必要はありません。次の番号のガイドに進みましょう。


ガイドを進めていて行き詰まったときはコーチに助けてもらいましょう。また Ruby、Rails、コンソール、テキストエディタについての便利なチートシート も参考にしてみてください。

ガイド

全てのガイドを見る