Docs Menu
Docs Home
/ /
Atlas App Services
/

アプリ環境を構成する

項目一覧

  • Overview
  • 始める前に
  • 手順

アプリ環境は、開発ワークフローを整理し、コードを効果的に再利用する方法です。 アプリ環境 を使用して、グローバル構成値の異なる複数のバージョンを定義し、アプリの現在の環境を変更することでそれらを切り替えることができます。

App Services は、それぞれが開発ワークフローのステージを表す一連の組み込み環境名をサポートしています。

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

それぞれの環境について、その環境がアクティブな場合にアプリケーションで使用できる環境値のセットを定義できます。

たとえば、API のbaseUrl構成には、新機能を開発するか、本番に配置するかによって、異なる値を使用する場合があります。

環境の値は、単一の JSON オブジェクトとして保存されます。 フィールド名と対応する値を任意に設定できます。

フィールド名を使用して、現在の環境から値にアクセスできます。

環境タグはそれぞれ、開発プロセスの特定のステージを表します。 環境ごとに個別のアプリを定義できます。各アプリは同じ構成ファイルのセットを使用しますが、環境タグは異なります。 方法については、「アプリをコピーする 」を参照してください。

たとえば、一般的な開発プロセスには、 developmenttestingproductionの 3 つの開発ステージがあります。 各ステージに個別のアプリを使用し、アプリごとに異なる環境値を使用できます。

また、一意のアプリケーションを使用して、個々の機能ブランチをテストすることもできます。 たとえば、開発者が機能ブランチを提供するコアdevelopmentアプリがあるとします。 機能ブランチがテストに移行する場合は、代わりにコアのtestingアプリを使用できます。

環境を CI/CD ワークフローに組み込む方法については、「 CI/CD パイプラインを設定する 」を参照してください。 実際のアプリケーションのテスト、デプロイ、およびその他のタスクを管理する完全な例については、 Githubアクションを使用して App Services アプリ用の CI/CD パイプラインを構築する方法 を参照してください。

各ブランチに異なる App Services アプリを表示する図
クリックして拡大します

Atlas UI でアプリ環境を定義するには、次のものが必要です。

CLI でアプリ環境を定義するには、次のものが必要です。

Admin API を使用してアプリ環境を定義するには、次のものが必要です。

1

Atlas App Services UI で、左側のナビゲーション メニューにある [ Valuesをクリックし、次にCreate New Valueをクリックします。

値の名前を入力し、値のタイプとして [ Environmentを選択します。

2

値にアクセスする環境タグごとに値を定義します。 環境ごとに異なる値を定義できます。どの環境でも未定義の値を残すことができます。

App Services UI での環境値の入力
3

アプリは常に特定の環境で実行されるため、すべての環境値の値に影響します。 アプリの現在の環境はDeploy > Environment画面で指定できます。

App Services UI の環境セレクター
4

環境値を定義したら、 Saveをクリックして構成を更新します。 アプリケーションで配置案が有効になっている場合は、 Review & Deployをクリックして変更を配置します。

1

MongoDB Atlas Admin API キーを使用して CLI にログインします。

appservices login --api-key="<my api key>" --private-api-key="<my private api key>"
2

アプリの構成ファイルのローカル コピーを取得します。 アプリの最新バージョンを取得するには、次のコマンドを実行します。

appservices pull --remote="<Your App ID>"

また、UI または管理 API からアプリケーションの構成ファイルのコピーをエクスポートすることもできます。 方法については、「アプリをエクスポートする 」を参照してください。

3

/environmentsディレクトリには、サポートされている環境タグごとに.jsonファイルが含まれています。 各ファイルは、対応する環境のすべての環境値を定義します。

App Services は次の環境タグをサポートしています。

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

使用する環境ごとに ファイルを開きます。 各ファイルで、値の名前をその環境内の値にマッピングするvaluesサブドキュメントにエントリを追加します。

次の構成では、 production環境とdevelopment環境でbaseUrl環境値を定義します。

/environments/production.json
{
"values": {
"baseUrl": "https://example.com"
}
}
/environments/development.json
{
"values": {
"baseUrl": "https://dev.example.com"
}
}
4

アプリは常に特定の環境で実行されるため、すべての環境値の値に影響します。 アプリの現在の環境はroot_config.jsonで指定できます。

root_config.json
{
...,
"environment": "development"
}
5

各環境の値を定義したら、更新された構成をリモート アプリにプッシュできます。 App Services CLI は、プッシュ時に更新された環境値をすぐに配置します。

appservices push --remote="<Your App ID>"
1

MongoDB Atlas API キー ペアを使用して、管理ユーザー認証エンドポイントを呼び出します。

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

認証に成功すると、レスポンス本文にはaccess_token値を持つ JSON オブジェクトが含まれます。

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

access_tokenは App Services Admin API へのアクセスを許可します。 すべての管理 API リクエストのAuthorizationヘッダーに Bearer トークンとして含める必要があります。

Tip

以下も参照してください。

2

環境値の作成エンドポイントを呼び出すことで、アプリの環境値を定義できます。 各環境値には名前と、環境タグを環境内の値にマッピングするvaluesオブジェクトがあります。

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment_values/{environmentValueId} \
-H 'Authorization: Bearer <access_token>' \
-d '{
"name": "myEnvironmentValue",
"values": {
"none": "alpha",
"development": "beta",
"testing": "gamma",
"qa": "delta",
"production": "epsilon"
}
}'
3

アプリ環境の設定エンドポイントを呼び出すことで、アプリの環境タグを設定できます。

curl -X PUT \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment \
-H 'Authorization: Bearer <access_token>' \
-d '{ "environment": "production" }'

戻る

アプリをエクスポートする