Docs 菜单

Docs 主页Atlas App Services

创建带扩展的模板配置

在此页面上

  • 定义模板
  • 定义环境值
  • 定义扩展替换
  • 指定环境
  • 创建新的模板化应用
  • 开发工作流程

Atlas App Services 支持替换操作符 (%() ),该操作符可动态解析 配置文件%%environment 中的 等 JSON 扩展。当您使用包含扩展的配置文件创建新应用时(使用App Services CLI或通过GitHub ),App Services 会自动解析扩展并使用解析的配置文件来创建应用。

使用替换操作符的配置文件是模板。 从模板创建应用后,该应用会使用反映创建应用时解析值的配置文件副本。 您可以使用同一模板创建多个具有不同配置的应用。

重要

替换操作符目前仅支持具有字符串值的配置字段。不能对布尔值、数字、对象或数组值使用扩展。

例如,您可以使用扩展来模板化clusterName字段:

有效模板数据源配置
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": false
}
}

但是您不能使用扩展来模板化wireProtocolEnabled字段,因为它具有布尔值:

模板数据源配置无效
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "Cluster0",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": %(%%environment.values.wireProtocolEnabled)
}
}
1

您可以使用扩展来模板化任何环境。 对于您使用的每个环境,定义您在配置文件中引用的值。

例子

以下环境配置不同的 MongoDB Atlas 集群名称:

environments/development.json
{
"values": {
"clusterName": "atlas-development"
}
}
environments/production.json
{
"values": {
"clusterName": "atlas-production"
}
}
2

您可以使用%()替换操作符和%%environment扩展引用配置文件中的任何环境值。 为要模板化的每个配置文件定义扩展。

例子

mongodb-atlas数据源的以下模板配置文件使用扩展根据环境动态解析clusterName

data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}
3

选择要将应用部署到的环境,然后使用环境名称更新应用配置:

realm_config.json
{
"name": "MyApp",
"environment": "development",
"deployment_model": "LOCAL",
"location": "aws-us-east-1"
}

提示

如果不指定环境, %%environment扩展将解析为environments/no-environment.json中的值。

4

现在,您可以使用模板化配置文件在所选环境中创建新应用。

例子

App Services 在导入时使用模板配置生成新的已解析配置文件:

appservices push
data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "atlas-development",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}

您可以对任何应用使用配置扩展,但最有用的案例是使用存储在 GitHub 等外部版本控制系统中的源代码文件来开发生产应用程序的团队。 您可以创建独立的应用程序来开发功能或测试更改,并使用扩展功能根据应用程序的环境自定义应用程序。

  1. 创建通用模板的副本,并将环境设置为development 。 如果您使用的是 Git,请在 GitHub 上创建新分支并签出本地副本。

  2. 进行更改并根据开发应用程序在本地进行测试。 您对应用程序所做的任何更改都不会影响生产应用程序,但除非您配置替代方案,否则它们仍然可以读取和写入生产数据源和服务。

  3. 提交更改并将其合并回生产环境。 您可以设置 CI/CD 管道(该管道本身可以在test环境中创建应用程序)来验证更改并将其合并到生产分支中。

  4. 合并更改后,您可以安全地删除开发应用程序并清理任何其他相关服务。

← 值配置文件