Rails5のアプリをGoogle Cloud Platformにデプロイした時のメモ

AWSではなくGCPを選んだ理由

今回Ruby on Railsのアプリのデプロイ先をどこにするか検討した結果Google Cloud Platformを選びました。
AWSも検討したのですが、できるだけシンプルな構成にしたかったのと料金もGCPの方が安いようなのでGCPを採用しました。
開発スピードという点からもエンジニアが豊富な場合はAWSでも良いと思いますが、スタートアップのようにインフラエンジニアがいなくてもGCPだと短期間で開発を行っていくことができます。

PostgreSQLをCompute Engine上で実行

GCPでは現在MySQLとPostgreSQLがサポートされています。
今回は開発段階から使用していたオープンソースのPostgreSQLを使用します。
こちらのGCPのドキュメントを参考にしてpostgreSQLのインスタンスを作成します。
Ruby で PostgreSQL を使用する

このPostgreSQLのユーザー名、パスワード等をRailsプロジェクトのdatabase.ymlに書き込みます。
ドキュメントと同じような設定にするとローカルとデプロイ先で同じSQLにアクセスすることができます。
database.ymlの中身はこんな感じになります。

これでデータベースとテーブルを作成します。

Rails5アプリをApp Engineにデプロイ

次にRailsをApp Engineにデプロイをします。
事前準備としてCloud Platform Consoleからプロジェクトを作成しておきます。
またGoogle Cloud SDKをインストールしておきましょう。

こちらのドキュメントを参考に行います。
Deploy the app to the App Engine flexible environment

プロジェクトにapp.yamlファイルを追加します。

このコマンドでシークレットキーを生成します。

シークレットキーをapp.yamlに追加。

App Engineにアプリを作成。
ここでリージョンなどの設定も行います。

デプロイ前にアセットをプリコンパイル。

最後にデプロイコマンド。

以下のアドレスでブラウズができます。
https://[プロジェクトID].appspot.com

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です