個人開発者向けのサービスの開発記録 #14 20240129

tyshgc
·

本日の作業

  • 仕事の方の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のアカウント作成し、組織・プロジェクトはすでに存在しているとします。

  1. Cloud run, Cloud Build を有効にする

  2. IAMでサービスアカウントを新規に作成する場合はCloud run, Cloud Buildのサービスアカウント権限を追加しておきます。

  3. Cloud run からサービスを作成

    • 「ソース リポジトリから新しいリビジョンを継続的にデプロイする」をチェックしCloud buildの設定へ

      1. ソースリポジトリの設定

        • リポジトリプロバイダを選択(例)Github

        • リポジトリを選択。リポジトリがない場合は「接続されたリポジトリを管理します」からリポジトリを設定

        • 次へ

      2. ビルド構成の設定

        • ブランチを設定

        • ビルドタイプはDockerを選択

        • 保存

    • 任意のサービス名を入力(例)hoge-app

    • リージョンを選択(例)asia-northeast1(東京)

    • CPU の割り当てと料金は「リクエストの処理中にのみ CPU を割り当てる」のままにしておく

    • 自動スケーリングは、0-100のデフォルトのままで後で調整する

    • 上り(内向き)の制御は「すべて」を選択

    • 認証は「未認証の呼び出しを許可」

  4. Cloud runとCloud buildが設定されており、問題なければビルドとデプロイが始まります。

  5. cloudbuild.**.yamlがリポジトリにあるのでむき先を変更します。

    1. 先ほど設定したCloud runのサービスを選択

    2. 「継続的デプロイを編集」に遷移

    3. トリガーの編集画面の下の方にある構成のロケーションを「リポジトリ」に変更

    4. cloudbuild.yamlの場所を設定する(例)/cloudbuild.hoge.yaml

  6. サービスアカウントの権限が足りないなどのエラーがビルド・デプロイ時に出る場合は、この編集画面のサービスアカウントを先ほど作成したサービスアカウントに変更するか、ここで設定しているサービスアカウントに権限を追加するかしてください。

  7. これで何かリポジトリにcommitしてpushするとビルドが始まるはずです。

そのほか、メモ

  • Cloudflareより慣れているせいかGoogle Cloud runの方が圧倒的に簡単にできた。というかCGPの方はDockerコンテナのデプロイなのでデプロイ先の環境にほとんど依存しないから楽。

← #13 #15 →

@tyshgc
デザインファーム及びスタートアップ(上場)などを経てフリーランスとして、様々なスタートアップや大手企業の新規事業の立ち上げ期における事業設計・アプリケーションの設計・開発、サービスのUX分析とデザインとエンジニアリングの両軸でお手伝いさせていただいています。 現在、個人開発者向けの支援サービスを個人開発中。 X Account: @tyshgc