【Railway】モノレポをRailwayにデプロイする
Railwayにモノレポをデプロイする方法を学びます。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)
Railwayでは、モノレポの管理がとてもラクです。
この記事では、複数のアプリケーションやサービスを単一のリポジトリで管理するモノレポをRailwayにデプロイする方法を説明します。
モノレポとは?
モノレポは、複数のプロジェクトのコードを単一のリポジトリに格納するソフトウェア開発戦略です。これにより、コードの共有、依存関係の管理、および大規模なリファクタリングが容易になります。
1. 新しい空のプロジェクトを作成する
Railwayで新しいプロジェクトを開始します。
2. プロジェクトのセットアップ
モノレポのルートディレクトリと、各アプリケーションのディレクトリ構造を準備します。
3. サービスの作成
モノレポ内の各アプリケーション(フロントエンド、バックエンドなど)に対して、Railwayで個別のサービスを作成します。
4. ディレクトリの設定

各Railwayサービスの設定でルートディレクトリを指定します。
これにより、Railwayはビルド時にその特定のサブディレクトリのみを参照するようになります。
上記画像の場合、/jsというのがnode.jsのプロジェクトなので、ルートディレクトリとして/jsを指定しました。
5. リポジトリの接続
モノレポのGitHubリポジトリを、作成した各Railwayサービスに接続します。
6. ドメインの設定
フロントエンドサービスなど、公開が必要なサービスにパブリックドメインを割り当てます。
7. ウォッチパスの設定
ウォッチパスは、デプロイを自動で行うかどうかを判断するために監視するパスのことです。この指定パスに変更があるとデプロイがおこなわれます。
私は、ルートディレクトリと同じように/js配下を指定したいので、/js/**と記述しました。
8. 環境変数の設定
各サービスに必要な環境変数を設定します。
例えば、フロントエンドサービスにはバックエンドAPIのURLを、バックエンドサービスにはデータベースの接続文字列などを設定します。
以上でモノレポのデプロイ方法の紹介となります。
Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)