Overview
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"
Valores ambientales
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:
Utilice context.environment en Funciones.
Utilice en expresiones de
%%environmentreglas.Utilice configuraciones con plantillas en los archivos de configuración de su aplicación.
Cómo utilizar entornos
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 usar aplicaciones únicas para probar ramas de funciones individuales. Por ejemplo, podrías tener una aplicación principal development que los desarrolladores bifurcan para sus ramas de funciones. Cuando una rama de funciones pasa a la fase de pruebas, puedes usar la aplicación principal 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.

Antes de comenzar
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 de proyecto. Para obtener información sobre cómo crear una cuenta gratuita, consulte Introducción a Atlas.
Necesitará lo siguiente para definir un entorno de aplicación en la CLI:
Una cuenta de MongoDB Atlas con permisos de propietario de proyecto. Para obtener información sobre cómo crear una cuenta gratuita, consulte Introducción a Atlas.
Un par de claves pública/privada de la API de administración de MongoDB Atlas. La clave de API debe tener permisos de propietario del proyecto para funcionar con la API de administración de App Services.
Una copia de la CLI de App Services instalada y agregada a su sistema
PATHlocal. 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:
Una cuenta de MongoDB Atlas con permisos de propietario de proyecto. Para obtener información sobre cómo crear una cuenta gratuita, consulte Introducción a Atlas.
Un par de claves pública/privada de la API de administración de MongoDB Atlas. La clave de API debe tener permisos de propietario del proyecto para funcionar con la API de administración de App Services.
La cadena hexadecimal ObjectId interna de tu aplicación y el ID del proyecto Atlas que contiene tu aplicación. Para saber cómo encontrarlos, consulta Obtener metadatos de la aplicación.
Procedimiento
Obtenga la última versión de su aplicación
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.
Definir uno o más entornos
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.
App Services admite 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.
{ "values": { "baseUrl": "https://example.com" } }
{ "values": { "baseUrl": "https://dev.example.com" } }
Implementa tu aplicación
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>"
Autenticar un usuario de MongoDB Atlas
Llame al punto final de autenticación del usuario administrador con su par de claves API de MongoDB Atlas:
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>" }'
Si la autenticación es exitosa, el cuerpo de la respuesta contiene un objeto JSON con un valor access_token:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
El access_token otorga acceso a la API de administración de App Services. Debe incluirlo como token de portador en el encabezado Authorization para todas las solicitudes de la API de administración.
Definir valores ambientales
Puedes definir valores de entorno para tu aplicación llamando al punto final "Crear un valor de entorno". Cada valor de entorno tiene un nombre y un values objeto que asigna etiquetas de entorno a dicho valor.
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" } }'
Configura el entorno de tu aplicación
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" }'

