AIイノベーションズ
Railway/Guides

環境 (Environments) を使う

Railway の環境機能を使って、本番と開発を分離したり、PR ごとに一時的な環境を自動作成したりする方法を解説します。

著者: AIイノベーションズ 阿部隼也X / Twitter

Railwayはこちら

環境 (Environments) を使う

Railway は、プロジェクト内の全サービスを隔離されたインスタンスとして扱える「環境 (Environments)」機能を提供し、複雑な開発ワークフローをサポートします。本番環境と開発環境を分けたり、ステージング環境を用意したりといった用途に活用できます。


環境の作成

ナビゲーションバーのドロップダウンから + New Environment を選択するか、Settings > Environments から作成します。

作成時には以下の2種類から選択できます。

  • Duplicate Environment (環境の複製):

    • 選択した環境のサービス、変数、設定をすべてコピーして新しい環境を作成します。
    • 複製後、すべてのサービスと設定がデプロイ対象としてステージングされるため、確認してから手動でデプロイする必要があります。
  • Empty Environment (空の環境):

    • サービスが何もない、まっさらな環境を作成します。

環境の同期

ある環境から別の環境へ、一つ以上のサービスをインポート(同期)できます。

  1. 同期となる環境を選択します。
  2. キャンバス上部の Sync をクリックします。
  3. 同期となる環境を選択します。
  4. 同期後、変更があった各サービスカードに New, Edited, Removed といったタグが表示されます。
  5. ステージングされた変更の詳細を確認し、問題がなければ Deploy をクリックして適用します。

PR 環境の有効化

GitHub でプルリクエスト (PR) を開いた際に、一時的な環境を自動で作成・デプロイする機能です。Project Settings -> Environments タブで有効にできます。

  • PR がマージまたはクローズされると、この一時環境は自動的に削除されます。
  • チーム外のユーザーや、GitHub アカウントが連携されていないユーザーからの PR はデプロイされません。

PR 環境でのドメイン

PR 環境でドメインを自動プロビジョニングするには、ベースとなる環境のサービスが Railway 提供のドメインを使用している必要があります。

ボットによる PR 環境

Dependabot や Renovatebot といったボットが作成した PR に対しても、Enable Bot PR Environments を有効にすることで自動的に環境を作成できます。


フォークされた環境 (非推奨)

2024年1月をもって、環境のフォーク機能は非推奨となり、環境の同期 (Sync Environments) フローに置き換えられました。それ以前にフォークされた環境は残りますが、変更をマージするには同期フローを使用する必要があります。

Railwayはこちら

PR