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

Created by Colin Alston

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

ローカル環境では、あなたのアプリはデータを保存するためのデータベースとしてSQLiteを使用しています。DigitalOceanのデプロイでは、別のデータベースを使用する方が簡単です。DigitalOceanでデプロイするために、本番用のデータベースを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"

アカウントを作成しよう

https://www.digitalocean.com/go/app-platform にアクセスして60日間の無料体験に申し込みましょう。

Trial page

Githubを使ってサインアップし、アカウントを連携させます。

Github Authorization

クレジットカードの登録が必要ですが、DigitalOceanを初めて利用される方には、200ドル分のクレジットが与えられます。

Complete signup

アプリケーションを作成しよう

Deploy a web application をクリックして準備を始めましょう。

Deploy a web application

“Deploy your web app” を選んで既存のGitHubリポジトリを追加します。

Deply source

DigitalOceanがあなたのリポジトリを読み取ることを許可します。

Authorize DigitalOcean

あなたのアプリケーションのリポジトリを選択します。

Choose repo Choose branch

Next をクリックし、Edit Plan をクリックして適切なリソースの利用を確認します。今回は、基本プランと最小のコンテナサイズから始めますが、これで十分でしょう。

Container size

Next をクリックして最後まで進みましょう。もう何も変更する必要はありません。

Environment Region

あなたのRailsアプリケーションをデプロイしよう

アプリケーションがビルドされるのを待ちます。その間、プロセスのリアルタイムのログを見ることができます。

Build

全てがうまくいけば、アプリケーションが利用できるようになりますが、アプリケーションの初期化とデータベースの追加が必要です。

Deployment

CreateCreate/Attach Database をクリックしてPostgreSQLのデータベースに接続しましょう。

Database

アプリケーションに対して、自動的にデータベースの認証情報が設定されます。

データベースを設定しよう

これで Console 上でアプリケーションコンテナにアクセスし、データベースを設定することができます。

rails db:migrate とターミナルに入力してエンターを押します。 Railsのschemaでデータベースがセットアップされているのが確認できるはずです。

Migrate

すべてがうまくいくと、ライブサーバーに接続する Live App ボタンをクリックすることができるでしょう。

Tada

まとめ

これで、あなたのRailsアプリはDigitalOceanのクラウド上で動作するようになりました。変更をGitHubにプッシュすれば、しばらくして自動的にライブURLに反映されます。このURLを共有すれば、友達にあなたのアプリを自慢できます!

無料クレジットの期限に注意し、不要になったらアプリを削除することを忘れないようにしましょう。


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

ガイド

全てのガイドを見る