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
/ /
Develop & Deploy Apps

Configurar un entorno de aplicación

Los entornos de aplicación son una forma de organizar el flujo de trabajo de desarrollo y reutilizar el código eficazmente. Puedes usarlos para definir diferentes versiones de valores de configuración global y luego alternar entre ellas modificando el entorno actual de la aplicación.

App Services admite un conjunto de nombres de entorno integrados, cada uno de los cuales representa una etapa de su flujo de trabajo de desarrollo:

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

Para cada entorno, puede definir un conjunto de valores de entorno que estarán disponibles para su aplicación cuando ese entorno esté activo.

Por ejemplo, puede utilizar valores diferentes para la configuración baseUrl de una API dependiendo de si está desarrollando una nueva función o implementándola en producción.

Los valores de un entorno se almacenan como un único objeto JSON. Puedes configurar los nombres de campo y los valores correspondientes como desees.

Puede acceder a los valores del entorno actual por nombre de campo:

Cada etiqueta de entorno representa una etapa específica del proceso de desarrollo. Puedes definir una aplicación independiente para cada entorno, donde cada aplicación utiliza el mismo conjunto de archivos de configuración, pero tiene una etiqueta de entorno distinta. Para saber cómo hacerlo, consulta Copiar una aplicación.

Por ejemplo, un proceso de desarrollo típico puede tener tres etapas: development, testing y production. Se podría usar una aplicación independiente para cada etapa y usar diferentes valores de entorno para cada una.

También puedes utilizar aplicaciones únicas para probar ramas individuales de funcionalidades. Por ejemplo, puede tener una aplicación principal development que los desarrolladores bifurcan para sus ramas de funcionalidad. Cuando una rama de características pase a pruebas, se puede utilizar la aplicación base testing en su lugar.

Para aprender a incorporar entornos a su flujo de trabajo de CI/CD, consulte Configurar una canalización de CI/CD. Para ver un ejemplo completo que gestiona las pruebas, la implementación y otras tareas de una aplicación real, consulte: Cómo crear pipelines de CI/CD para aplicaciones de App Services usando GitHub Actions.

Diagrama que muestra diferentes aplicaciones de App Services para cada rama
haga clic para ampliar

Necesitará lo siguiente para definir un entorno de aplicación en la interfaz de usuario de Atlas:

  • Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.

Necesitarás lo siguiente para definir un entorno de aplicación en la CLI:

  • Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.

  • Un par de claves pública/llave privada de la API de administración de MongoDB Atlas. La clave de la API debe tener permisos de Propietario del proyecto para trabajar con la API de administración de App Services.

  • Una copia de la CLI de App Services instalada y agregada a su sistema PATH local. Para saber cómo, consulte Instalar la CLI de App Services.

  • El ID de la aplicación cliente de tu aplicación. Esta es la cadena única que contiene el nombre de tu aplicación, p. ej.,. "myapp-abcde" Para saber cómo encontrar el ID de tu aplicación, consulta Obtener metadatos de la aplicación.

Necesitará lo siguiente para definir un entorno de aplicación con la API de administración:

1

En la interfaz de usuario de App Services, haga clic en Values en el menú de navegación de la izquierda, haga clic en Create New Value.

Introduzca un nombre para el valor y seleccione Environment para el tipo de valor.

2

Define un valor para cada etiqueta de entorno de la que quieras acceder al valor. Puedes definir un valor diferente para cada entorno y puedes dejar un valor sin definir en cualquier entorno.

Entradas de valores del entorno en la interfaz de usuario de App Services
3

Tu aplicación siempre se ejecuta en un entorno específico, lo que afecta el valor de todos los valores del entorno. Puedes especificar el entorno actual de tu aplicación en la pantalla Deploy > Environment.

The environment selector in the App Services UI
4

Una vez definido el valor del entorno, haga clic en Save para actualizar la configuración. Si su aplicación tiene habilitados los borradores de implementación, haga clic en Review & Deploy para implementar los cambios.

1

Utiliza tu clave de API de administrador de MongoDB Atlas para iniciar sesión en la CLI:

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

Obtén una copia local de los archivos de configuración de tu aplicación. Para obtener la última versión, ejecuta el siguiente comando:

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

También puedes exportar una copia de los archivos de configuración de tu aplicación desde la interfaz de usuario o con la API de administración. Para saber cómo, consulta Exportar una aplicación.

3

El directorio /environments contiene un archivo .json para cada etiqueta de entorno compatible. Cada archivo define todos los valores de entorno para su entorno correspondiente.

aplicación Services es compatible con las siguientes etiquetas de entorno:

  • ""

  • "development"

  • "testing"

  • "qa"

  • "production"

Abra el archivo para cada entorno que desee usar. En cada archivo, agregue una entrada al subdocumento values que asigne el nombre del valor a su valor en ese entorno.

Ejemplo

Las siguientes configuraciones definen el valor del entorno baseUrl en los entornos production y development.

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

La aplicación siempre se ejecuta en un entorno específico, lo que afecta el valor de todos los valores de entorno. Puedes especificar el entorno actual para tu aplicación en root_config.json:

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

Una vez que hayas definido los valores para cada entorno, puedes aplicar las configuraciones actualizadas a tu aplicación remota. La CLI de App Services implementa inmediatamente los valores actualizados del entorno al realizar el push.

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

Call the admin user authentication endpoint with your MongoDB Atlas API key pair:

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

If authentication succeeds, the response body contains a JSON object with an access_token value:

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

El access_token concede acceso a la API de Administración de App Services. Debe incluirlo como un token Bearer en el encabezado Authorization para todas las solicitudes a la API de administración.

Tip

2

Puedes definir valores de entorno para tu aplicación llamando al endpoint Crear un valor de entorno. Cada valor de entorno tiene un nombre y un objeto values que asigna etiquetas de entorno al valor en el entorno.

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

Puede configurar la etiqueta de entorno de su aplicación llamando al punto final Establecer el entorno de la aplicación.

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

Volver

Exportar una aplicación

En esta página