Docs 菜单
Docs 主页
/ /
Atlas App Services
/

配置应用环境

在此页面上

  • Overview
  • 开始之前
  • 步骤

应用环境是一种组织开发工作流程和有效重复使用代码的方法。您可以使用应用环境定义不同的多个版本的全局配置值,然后通过更改应用的当前环境在它们之间切换。

App Services 支持一组内置环境名称,每个名称代表开发工作流程的一个阶段:

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

对于每个环境,您都可以定义一组环境值,当该环境处于活动状态时,您的应用程序可以使用这些值。

例如,您可以对 API 的 baseUrl 配置使用不同的值,具体取决于您要开发新功能还是部署到生产环境。

环境的值存储为单个 JSON 对象。可以将字段名称和相应的值设置为您想要的任何内容。

您可以按字段名称访问当前环境中的值:

每个环境标签都代表开发过程的特定阶段。您可以为每个环境定义一个单独的应用,其中每个应用使用同一组配置文件,但具有不同的环境标签。要了解如何操作,请参阅复制应用。

例如,一个典型的开发过程可能有三个开发阶段: developmenttestingproduction。您可以为每个阶段使用一个单独的应用,并为每个应用使用不同的环境值。

您还可以使用独特的应用程序来测试各个功能分支。例如,您可能拥有一个核心 development 应用,开发者为其功能分支创建了分支。当功能分支进入测试阶段时,可以改用核心 testing 应用。

要学习;了解如何将环境整合到 CI/CD 工作流程中,请参阅设置 CI/CD 管道。 有关管理实际应用程序的测试、部署和其他任务的完整示例,请参阅:如何使用Github Actions 为App Services应用构建 CI/CD 管道。

显示每个分支的不同 App Services 应用程序的图表
点击放大

要在 Atlas 用户界面中定义应用环境,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

要在CLI中定义应用环境,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

  • MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。

  • 已安装并添加到本地系统 PATH 的 App Services CLI 副本。要了解如何操作,请参阅安装 App Services CLI

  • 您的应用程序的客户端App ID。 这是包含应用名称的唯一string ,例如 "myapp-abcde" 。 要学习;了解如何查找 App ID,请参阅获取应用元数据。

要使用 Admin API定义应用环境,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

  • MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。

  • 您的应用的内部ObjectId 十六进制string 以及包含您的应用的ID 项目的项目Atlas 。要学习;了解如何查找这些元数据,请参阅获取应用元数据。

1

在App Services用户界面中,单击左侧导航菜单中的 Values ,然后单击Create New Value

输入值的名称,然后选择Environment作为值类型。

2

为您想要访问值的每个环境标签定义一个值。您可以为每个环境定义不同的值,也可以在任何环境中保留未定义的值。

App Services用户界面中的环境值输入
3

您的应用始终在特定环境中运行,这会影响所有环境值。 您可以在Deploy > Environment屏幕上指定应用程序的当前环境。

App Services用户界面中的环境选择器
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>"

您也可以从用户界面或使用 Admin API 导出应用程序配置文件的副本。要了解如何操作,请参阅导出应用

3

/environments目录包含每个支持的环境标签的.json文件。 每个文件都定义了相应环境的所有环境值。

App Services支持以下环境标签:

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

打开要使用的每个环境的文件。 在每个文件中,向values子文档添加一个条目,将值的名称映射到该环境中的值。

例子

以下配置定义了productiondevelopment环境中的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的访问权限。 您必须将其作为持有者令牌包含在所有 Admin API请求的Authorization标头中。

提示

另请参阅:

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" }'

后退

导出应用