本日の作業
仕事の方のTurborepo + Remix + Cloud run/Cloud Buildのデプロイ環境を作る方に時間取られて進捗なし
Turborepo + Remix + Cloud run & Buildのデプロイまとめ
個人開発には関係ないけどメモっておく。
必要なもの
Turborepoでappsディレクトリを作り配下にRemixのアプリを必要な数だけインストールする。例)apps/hoge-app, apps/moge-app
ルートディレクトリにそれぞれDockerfilerを作成して置いておく。中身は以下。ソースはこちら
同じくルートディレクトリにcloudbuild.yamlをそれぞれのアプリ向けに用意する。次の内容は基本セットです。cloudbuild.yamlの内容は適宜追加してください。
設定の手順
Google Cloudのアカウント作成し、組織・プロジェクトはすでに存在しているとします。
Cloud run, Cloud Build を有効にする
IAMでサービスアカウントを新規に作成する場合はCloud run, Cloud Buildのサービスアカウント権限を追加しておきます。
Cloud run からサービスを作成
「ソース リポジトリから新しいリビジョンを継続的にデプロイする」をチェックしCloud buildの設定へ
ソースリポジトリの設定
リポジトリプロバイダを選択(例)Github
リポジトリを選択。リポジトリがない場合は「接続されたリポジトリを管理します」からリポジトリを設定
次へ
ビルド構成の設定
ブランチを設定
ビルドタイプはDockerを選択
保存
任意のサービス名を入力(例)hoge-app
リージョンを選択(例)asia-northeast1(東京)
CPU の割り当てと料金は「リクエストの処理中にのみ CPU を割り当てる」のままにしておく
自動スケーリングは、0-100のデフォルトのままで後で調整する
上り(内向き)の制御は「すべて」を選択
認証は「未認証の呼び出しを許可」
Cloud runとCloud buildが設定されており、問題なければビルドとデプロイが始まります。
cloudbuild.**.yamlがリポジトリにあるのでむき先を変更します。
先ほど設定したCloud runのサービスを選択
「継続的デプロイを編集」に遷移
トリガーの編集画面の下の方にある構成のロケーションを「リポジトリ」に変更
cloudbuild.yamlの場所を設定する(例)/cloudbuild.hoge.yaml
サービスアカウントの権限が足りないなどのエラーがビルド・デプロイ時に出る場合は、この編集画面のサービスアカウントを先ほど作成したサービスアカウントに変更するか、ここで設定しているサービスアカウントに権限を追加するかしてください。
これで何かリポジトリにcommitしてpushするとビルドが始まるはずです。
そのほか、メモ
Cloudflareより慣れているせいかGoogle Cloud runの方が圧倒的に簡単にできた。というかCGPの方はDockerコンテナのデプロイなのでデプロイ先の環境にほとんど依存しないから楽。