Overview
Puedes actualizar una aplicación existente modificando su configuración subyacente y luego implementando esos cambios. Hay varias maneras de hacerlo:
La interfaz de usuario de administrador de App Services: una aplicación web integrada en MongoDB Atlas. Incluye una interfaz gráfica para cualquier cosa que desees configurar en tu aplicación.
La CLI de App Services: una herramienta de línea de comandos que permite configurar e implementar la aplicación localmente. Trabaja directamente con los archivos de configuración subyacentes de la aplicación.
La API de administración: una API REST que puedes usar para configurar e implementar tu aplicación de manera programática. Las solicitudes de la API de administración leen y escriben los archivos de configuración subyacentes de tu aplicación.
Implementación automática de GitHub: una integración de GitHub que sincroniza la configuración de tu app con un repositorio de GitHub. Puedes usar GitHub para administrar los archivos de configuración de tu app e implementarla enviando los cambios al repositorio.
Update an Existing App
Antes de comenzar
Necesitará lo siguiente para actualizar una aplicación en la interfaz de usuario de Atlas:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para saber cómo crear una cuenta gratuita, consulte Comienza con Atlas.
Necesitará lo siguiente para actualizar una 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 local
PATHPara saber cómo hacerlo,consulte Instalar la CLI de App Services.
You will need the following to update an App with the Admin API:
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.
Para actualizar una aplicación según los archivos de configuración en un repositorio de GitHub, debe habilitar la Implementación automática de GitHub para la aplicación.
Procedimiento
Realice cambios en su aplicación
Empieza por añadir, modificar o eliminar cualquier elemento que quieras incluir en la implementación a través de la interfaz de usuario de App Services. Si tienes habilitados los borradores, los cambios se guardarán automáticamente como borrador.
Tip
Nota
Solo puedes crear borradores de cambios a través de la interfaz de usuario de App Services o la API de administración. Cualquier cambio que realices con GitHub o la CLI de App Services se implementa independientemente de los borradores de cambios. Para evitar posibles conflictos o inconsistencias, es mejor realizar los cambios en un solo lugar a la vez.
Revisar los cambios del borrador
Puede revisar todos los borradores de cambios en su aplicación antes de implementarlos.
Haga clic Deployment En el menú de navegación izquierdo, accede a la tabla del historial de implementación de tu aplicación. La fila superior de la tabla representa todos los cambios preliminares que has realizado desde la implementación anterior.
Haga Review Draft and Deploy clic en el botón en la fila superior para ver una diferencia de los archivos de configuración de la aplicación subyacente que representan los cambios preliminares que ha realizado.
Nota
Es posible que desee descargar un borrador de sus cambios debido a conflictos de fusión o para guardarlo fuera de la interfaz de usuario. Puede hacerlo en el modal Review Draft and Deploy haciendo clic en Export State en la esquina superior derecha. Puede usar la descarga para implementar sus cambios en los servicios de aplicaciones o como referencia al reaplicar los cambios en la interfaz de usuario.
Implementar una nueva versión de la aplicación
Después de revisar los cambios del borrador y confirmar que desea implementarlos, haga clic en Deploy. App Services implementa una nueva versión de su aplicación que incluye los cambios del borrador. Las aplicaciones cliente usarán automáticamente la versión más reciente, así que asegúrese de actualizar también su código cliente para usar la nueva versión si es necesario.
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.
Actualizar tu aplicación
Agregue, elimine y modifique archivos de configuración para los distintos componentes de su aplicación.
Crear un borrador nuevo (opcional)
A draft represents a group of application changes that you can deploy or discard as a single unit. If you don't create a draft, updates automatically deploy individually.
Para crear un borrador, envíe una POST solicitud sin cuerpo al punto final Crear un nuevo borrador de implementación:
curl -X POST 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <access_token>'
Importante
Un borrador por usuario
Cada usuario solo puede crear un borrador a la vez, ya sea a través de la interfaz de usuario o de la API de administración. Si ya tiene un borrador, puede descartar los cambios asociados enviando una DELETE solicitud al punto final "Descartar un borrador de implementación":
curl -X DELETE 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}' \ -H 'Authorization: Bearer <access_token>'
Realice cambios en su aplicación
Puedes configurar tu aplicación y agregar, modificar o borrar componentes llamando a los endpoints de la Admin API para cada operación. Para ejemplos e información detallada de referencia, consulta Atlas App Services Admin API.
Si no creaste un borrador, cada solicitud exitosa a la API de administración implementa inmediatamente las actualizaciones asociadas en la aplicación.
Si creaste un borrador, cada solicitud exitosa de la API de administración agrega las actualizaciones correspondientes. Envía solicitudes para todos los cambios que quieras incluir en el borrador.
Implementa el borrador
Si creó un borrador, puede implementar todos los cambios en el borrador enviando una POST solicitud sin cuerpo al punto final Implementar un borrador de implementación:
curl -X POST \ 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}/deployment' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <access_token>' \
Con la Implementación Automática de GitHub habilitada, tu aplicación siempre usa los archivos de configuración de la confirmación más reciente en tu repositorio vinculado. Para obtener más información sobre cómo organizar y definir los archivos de configuración, consulta Configuración de la aplicación.
Update your application by adding, modifying, and deleting configuration files locally.
Cuando estés listo para implementar tus cambios, compromete los archivos de configuración y luego súbelos a GitHub:
git add -A git commit -m "<commit message>" git push origin <branch name>
After you push, the GitHub integration automatically deploys an updated version of your App based on the configuration files in the latest commit.
Deployment Drafts
Un borrador de implementación es un conjunto de una o más actualizaciones de tu aplicación que puedes aplicar o descartar como un solo grupo. Implementar un borrador es útil cuando los cambios incluyen servicios o funciones que interactúan entre sí.
The App Services UI uses deployment drafts by default. While enabled, any changes you make to your App's configuration in the App Services UI are added to a draft that you manually deploy. You can disable UI drafts if you prefer to deploy immediately when you save in the UI.
Tanto la CLI de App Services como la implementación de GitHub crean e implementan borradores automáticamente. Al ejecutar el comando push de git push la CLI o en la rama de implementación, la CLI o la aplicación de GitHub crean una comparación de los archivos de configuración locales con la configuración implementada. A continuación, crean e implementan un borrador basado en la comparación.
La API de administración de App Services permite crear e implementar borradores manualmente. Para saber cómo, consulta "Implementar un grupo de cambios".
Draft Conflicts
Evite que varios usuarios realicen cambios conflictivos en los borradores de la interfaz de usuario o la API simultáneamente. Si hay varios borradores simultáneos con cambios conflictivos, no podrá implementar uno o más de ellos.
Por ejemplo, si implementa cambios a través de la API pero tiene un borrador de IU existente con cambios conflictivos, su borrador de IU dejará de ser válido y no podrá implementarlo.
Para recuperarse de un conflicto, puede descargar archivos de configuración para un borrador de la Interfaz de Usuario desde la página Deployment. Puedes usarlas como referencia para volver a aplicar cambios en la interfaz de usuario o implementar los cambios directamente con la CLI o la API de administrador.
Disable UI Deployment Drafts
Puedes desactivar los borradores de la Interfaz de Usuario si prefieres implementar inmediatamente cuando guardes en la Interfaz de Usuario. Esta configuración no impide que se creen borradores manuales con la Admin API.
Para deshabilitar los borradores de Interfaz de Usuario directamente desde la Interfaz de Usuario:
Haga clic en Deployment en el menú de navegación de la izquierda
Haz clic en la pestaña Configuration
Bajo el encabezado Disable Drafts in Atlas App Services, haga clic en Disable Drafts y luego confirme su decisión en la ventana modal.
To disable UI drafts with the Admin API, send a request to the Configure Deployment endpoint with ui_drafts_disabled set to true.
curl -X PATCH https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>' \ -H 'Content-Type: application/json' \ -d '{ "ui_drafts_disabled": true, "automatic_deployment": { "enabled": false, "installationIds": [], "lastModified": 0 } }'