Overview
Puede configurar una aplicación Atlas App Services para que se implemente automáticamente cada vez que envíe archivos de configuración de la aplicación a una GitHub Repositorio. Puedes clonar el repositorio de GitHub en tu computadora y luego usar comandos estándar de Git para descargar las últimas versiones e implementar los nuevos cambios.
Requisitos previos
Una cuenta y un repositorio de GitHub. El repositorio debe estar vacío o contener un directorio de configuración exportado para una aplicación existente. Para obtener información sobre cómo crear un repositorio vacío, consulta la guía de GitHub para crear un repositorio.
Una copia instalada de la CLI de Git. Si no la tiene
gitinstalado, consulte la guía oficial para instalar Git.Una clave API programática de MongoDB Atlas para autenticar y autorizar el acceso al repositorio Git subyacente de su aplicación. Si aún no ha generado una clave API programática para su organización Atlas, hágalo ahora.
Habilitar la implementación automática con GitHub
Puede habilitar la implementación automática con GitHub mediante la interfaz de usuario de App Services, la CLI de App Services o la API de administración de App Services.
Instalar la aplicación Atlas App Services GitHub
Para realizar una implementación automática basada en un repositorio de GitHub, Atlas App Services requiere que instales una aplicación de GitHub que tenga, como mínimo, acceso de lectura al repositorio.
Para instalar la aplicación, haga clic en Deployment En el menú de navegación izquierdo de la interfaz de usuario de App Services, seleccione la pestaña Configuration y haga clic en Install App Services on GitHub. Se abrirá una nueva ventana del navegador con el proceso de instalación de la aplicación de GitHub.
Nota
Autenticación de GitHub
Es posible que GitHub requiera que se ingresen las credenciales de la cuenta antes de poder instalar la aplicación.
Seleccione la cuenta u organización de GitHub para la que desea instalar la aplicación:

Especifique uno o más repositorios para los cuales quiere otorgar acceso de lectura a Servicios de aplicación. Se puede dar acceso a repositorios específicos o bien conceder acceso a todos tus repositorios en GitHub. Selecciona los repositorios que quieras usar y haz clic en Install.

Después de instalar la aplicación, regresa a la pestaña Configuration y haz clic en el botón Authorize para terminar de conectar App Services a GitHub. Esto te llevará a la pantalla de permisos de GitHub. Haz clic en Authorize MongoDB Atlas App Services.

Nota
Permisos de GitHub
Puedes administrar los permisos para la aplicación GitHub de App Services desde la página Aplicaciones GitHub instaladas en tu configuración de GitHub.
Especificar un repositorio de GitHub
Una vez que hayas vinculado tu cuenta de GitHub a tu aplicación, puedes especificar un repositorio que App Services debe implementar automáticamente. Indica los Repository, Branch y Directory que contienen los archivos de configuración de la aplicación y haz clic en Save.

Nota
La lista de repositorios solo contendrá los repositorios a los que les haya otorgado acceso de lectura a App Services.
Inicializar el repositorio
Clona una copia local del repositorio Git que especificaste:
git clone https://github.com/<organization>/<repo>.git
La rama y el directorio configurados deben contener los archivos de configuración que definen su aplicación. Puede crear la configuración manualmente o exportar el directorio de una aplicación existente.
Agregue el directorio de la aplicación al repositorio y luego confirme los cambios:
git add -A git commit -m "Adds App Services Application Directory"
Una vez que hayas enviado la última versión de la aplicación al repositorio, envíala a tu repositorio de GitHub:
git push origin <branch name>
Habilitar la implementación automática
Después de especificar un repositorio para implementar e inicializarlo con la última versión de tu aplicación, debes habilitar la implementación automática para comenzar a implementarla. En la pestaña Configuration de la página Deploy, haz clic en Enable Automatic Deployment. En la ventana emergente, haz clic en Enable Automatic Deployment para confirmar tu selección.

Realice cambios en su aplicación
Una implementación contiene uno o más cambios realizados en la aplicación desde la implementación anterior. Realice las adiciones, modificaciones o eliminaciones que desee incluir en el repositorio.
Consulte la página de referencia de configuración de la aplicación y las páginas de referencia de componentes individuales para obtener detalles sobre la estructura y el esquema del directorio de su aplicación.
Importante
No realice cambios importantes en el esquema mediante la implementación automatizada
Dado que los cambios de esquema disruptivos (también llamados destructivos) requieren un manejo especial, App Services no permite realizar cambios de esquema disruptivos mediante la implementación automatizada con GitHub. En su lugar, debe realizar los cambios disruptivos desde la interfaz de usuario de App Services.
Confirme y envíe sus cambios
Una vez que haya actualizado la configuración de su aplicación, puede implementar las actualizaciones como una nueva versión de su aplicación subiéndolas al repositorio de GitHub especificado. Si la Implementación Automática de GitHub está habilitada, App Services implementa inmediatamente la última confirmación para la rama y el directorio configurados.
Cuando estés listo para implementar, confirma todos los archivos que quieras incluir y luego súbelos a GitHub:
git add -A git commit -m "<commit message>" git push origin <branch name>
Una vez que hayas subido correctamente tus cambios a GitHub, App Services implementará inmediatamente una nueva versión de tu aplicación que coincida con el estado de la última confirmación. Las aplicaciones cliente usarán automáticamente la versión más reciente, así que asegúrate de actualizar también tu código cliente para usarla si es necesario.
Nota
Historial de implementación
Puede ver la versión actualmente implementada de su aplicación, así como un registro histórico de implementaciones anteriores en la tabla Historial de implementaciones en la interfaz de usuario de App Services.
Nuevo en la versión 1.1.0.
Puede utilizar la CLI para configurar, habilitar o deshabilitar la implementación automática.
Ejecute el comando Implementar y configurar
La CLI de App Services puede guiarte a través del proceso de configuración de la implementación automática. Este es un comando interactivo.
appservices deploy configure
El comando también admite flags adicionales que puede incluir opcionalmente. Para información sobre estos flags, consulte appservices implementar configure.
La CLI de App Services habilita inmediatamente la implementación automática al completar este comando. No es necesario ejecutar el comando enable como paso adicional.
Tip
La configuración de la implementación automática a través de CLI se basa en una función beta de GitHub
La capacidad de configurar un despliegue automático usando la CLI de App Services depende de una funcionalidad de GitHub que actualmente está en beta. Si GitHub realiza cambios disruptivos en esta funcionalidad, es posible que no puedas configurar la implementación automática mediante la App Services CLI. En este caso, utiliza la Interfaz de usuario Realm o la Admin API de App Services para configurar la implementación automática.
La función beta de GitHub solo afecta a la configuración de la implementación automática. Si ya configuró la implementación automática para su aplicación, puede habilitarla o deshabilitarla mediante la CLI de App Services, independientemente del estado de esta función beta de GitHub.
Deshabilitar, habilitar o ver detalles de configuración (opcional)
Puede utilizar la CLI de App Services para ver los detalles de configuración después de haber configurado la implementación automática.
appservices deploy describe
También puede deshabilitar y habilitar la implementación automática mediante la CLI de App Services. Para obtener más información sobre estos comandos y sus opciones, consulte appservices deploy.
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.
Obtener una configuración de implementación existente (opcional)
Puede obtener la GET configuración de implementación existente para su aplicación realizando una solicitud al punto final Obtener la configuración de implementación.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>'
Actualizar la configuración de implementación
Puede actualizar la PATCH configuración de implementación existente para su aplicación realizando una solicitud al punto final Configurar implementación.
curl -X PATCH \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>' \ -d '{ "ui_drafts_disabled": true, "automatic_deployment": { "enabled": true, "provider": "github", "installation_ids": [ "string" ] }, "last_modified": 0 }'
Realizar cambios desde la interfaz de usuario
La implementación automática de GitHub no te impide realizar cambios en tu aplicación desde la interfaz de App Services. Puedes realizar cambios en tu aplicación a través de la interfaz, y App Services los confirma automáticamente en tu repositorio de GitHub vinculado.
Tip
Si tu repositorio de GitHub vinculado contiene nuevas confirmaciones que no se reflejan en los cambios de la interfaz de usuario de App Services, App Services no podrá confirmar automáticamente esos cambios en tu repositorio. Sin embargo, puedes usar el botón Export para descargar los archivos de configuración actualizados a tu equipo local y luego subirlos manualmente a tu repositorio de GitHub.
Cuando se confirmen los cambios en su repositorio de GitHub vinculado, verá un enlace Commit: <commit-hash> en el Historial de implementación de su aplicación.

Puedes hacer clic en ese enlace para ver la confirmación en GitHub. El bot mongodb-realm aparece como autor de la confirmación.

Realizar cambios desde la CLI
Anteriormente, recomendamos evitar realizar cambios en la aplicación con la CLI de App Services después de configurar la implementación automática. A partir de la CLI de App Services v1.1.0 y versiones posteriores, puede usar la CLI de App Services de forma segura para realizar cambios en la aplicación.
Versión CLI de App Services 1.1.0 y posteriores
En la versión 6800 de la CLI de App Services1.1.0 y posteriores, una inserción desde la CLI de App Services genera automáticamente la confirmación correspondiente en GitHub. Esto mantiene los cambios de código sincronizados con la fuente de confianza de GitHub, con control de versiones.
Versión de la CLI de App Services 1.0.3 y anteriores
En App Services CLI v1.0.3 y versiones anteriores, evite realizar cambios en su aplicación con App Services CLI después de configurar la implementación automática, porque:
Si envía cambios con la CLI mientras la implementación de GitHub está habilitada, App Services implementa los cambios pero no los confirma nuevamente en su repositorio vinculado.
Los archivos de configuración de su repositorio ya no reflejan el estado actual de su aplicación.
Para obtener los cambios que enviaste, un colaborador debe extraer manualmente los archivos de configuración más recientes directamente desde tu aplicación. El repositorio de GitHub ya no es la fuente de la verdad.
Si un colaborador agrega una nueva confirmación a un repositorio obsoleto, sobrescribe cualquier cambio implementado pero no confirmado.
Resumen
Puedes implementar tu aplicación modificando un repositorio alojado en GitHub.
Mientras la Implementación Automática de GitHub esté habilitada, App Services implementa inmediatamente la última confirmación. Para implementar, confirma los cambios localmente y luego súbelos a tu repositorio en GitHub.
Cuando realiza cambios a través de la interfaz de usuario de App Services después de habilitar la Implementación automática de GitHub, esos cambios se confirman automáticamente en su repositorio vinculado.
Si desea utilizar la CLI de App Services para actualizar los archivos de configuración después de habilitar la Implementación automática de GitHub, utilice la CLI de App Services v1.1.0 o posterior.