Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Archivos de configuración de la aplicación

Crear configuraciones de plantilla con expansiones

Atlas App Services admite un operador de reemplazo (%()) que resuelve dinámicamente expansiones JSON como %%environment en tus archivos de configuración. Al crear una aplicación con archivos de configuración que incluyen expansiones (ya sea con la CLI de App Services o a través de GitHub), App Services resuelve automáticamente las expansiones y usa los archivos de configuración resueltos para crear la aplicación.

Configuration files that use the replacement operator are templates. Once you create an app from a template, the app uses a copy of the configuration files that reflect the resolved values at the time the app was created. You can use the same template to create multiple apps with different configurations.

Importante

Actualmente, el operador de reemplazo solo se admite en campos de configuración con valores de cadena. No se pueden usar expansiones para valores booleanos, numéricos, de objeto ni de matriz.

Por ejemplo, puede utilizar expansiones para crear la plantilla del campo clusterName:

Configuración válida de la fuente de datos de plantilla
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": false
}
}

Pero no puedes usar expansiones para crear la plantilla del campo wireProtocolEnabled porque tiene un valor booleano:

Configuración de fuente de datos de plantilla no válida
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "Cluster0",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": %(%%environment.values.wireProtocolEnabled)
}
}
1

Puedes usar expansiones para crear plantillas para cualquier entorno. Para cada entorno que uses, define valores a los que hagas referencia en tus archivos de configuración.

Ejemplo

The following environments configure different MongoDB Atlas cluster names:

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

Puede hacer referencia a cualquier valor de entorno de un archivo de configuración con el %() operador de reemplazo y la %%environment expansión. Defina expansiones para cada archivo de configuración que desee usar como plantilla.

Ejemplo

The following template configuration file for the mongodb-atlas data source uses expansions to dynamically resolve clusterName based on the environment:

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

Elija en qué entorno implementar su aplicación y luego actualice la configuración de la aplicación con el nombre del entorno:

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

Tip

Si no especifica un entorno, %%environment expansiones se resuelven en valores en environments/no-environment.json.

4

Ahora puede utilizar sus archivos de configuración con plantilla para crear una nueva aplicación en el entorno elegido.

Ejemplo

App Services utiliza la configuración de la plantilla para generar archivos de configuración nuevos y resueltos durante la importación:

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

Puedes usar expansiones de configuración para cualquier aplicación, pero el caso más útil es para equipos que desarrollan una aplicación de producción con archivos de código fuente almacenados en un sistema de control de versiones externo como GitHub. Puedes crear aplicaciones independientes para desarrollar funciones o probar cambios y usar expansiones para personalizarlas según su entorno.

  1. Crea una copia de la plantilla común con el entorno establecido development en. Si usas Git, crea una nueva rama en GitHub y extrae una copia local.

  2. Realiza cambios y pruébalos localmente en la aplicación de desarrollo. Cualquier cambio que realices en la aplicación no afectará a la aplicación de producción, aunque es posible que aún puedan leer y guardar fuentes de datos y servicios de producción, a menos que configures alternativas.

  3. Confirme la confirmación de cambios e intégralos nuevamente en producción. Puede configurar una pipeline de CI/CD, que puede crear una aplicación en el entorno test por sí misma, para validar y fusionar tus cambios en la rama de producción.

  4. Una vez fusionados los cambios, puedes eliminar de forma segura la aplicación de desarrollo y limpiar cualquier otro servicio asociado.

Volver

Values

En esta página