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
A GitHub account and repository. The repository should either be empty or contain an exported configuration directory for an existing App. For information on how to create an empty repository, see GitHub's create a repo guide.
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
Puedes habilitar la implementación automática con GitHub usando la Interfaz de usuario Realm, la App Services CLI o la App Services Admin API.
Install the Atlas App Services GitHub App
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.

After you install the application, return to the Configuration tab and click the Authorize button to finish connecting App Services to GitHub. This leads you to a github permissions screen. Click 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.
Specify a GitHub Repository
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á repos que hayas autorizado para que aplicación Services tenga acceso de lectura.
Initialize the Repository
Clone a local copy of the Git repository that you specified:
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"
Once you have committed the latest version of the application to the repository, push it to your GitHub repository:
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
A deployment contains one or more changes that you have made to your application since the previous deployment. Make any additions, modifications, or deletions to the repository that you want to include in your deployment.
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 realices cambios disruptivos en el esquema mediante una 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
Once you have updated your application configuration, you can deploy the updates as a new version of your App by pushing them to the GitHub repo that you specified. If Automatic GitHub Deployment is enabled, App Services immediately deploys the latest commit for the configured branch and directory.
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 logras enviar correctamente tus cambios a GitHub, App Services implementa inmediatamente una nueva versión de tu aplicación que coincide con el estado del último commit. Las aplicaciones cliente usarán automáticamente la versión más reciente, así que asegúrate de actualizar también tu código del cliente para usar la nueva versión 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.
You can use the CLI to configure, enable, or disable automatic deployment.
Ejecutar el comando de configuración de implementar
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
Configuring automatic deployment via CLI relies on a GitHub beta feature
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.
The GitHub beta feature only affects configuring automatic deployment. If you have previously configured automatic deployment for your application, you can enable or disable it using the App Services CLI regardless of the status of this beta GitHub feature.
Disable, Enable, or View Configuration Details (Optional)
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 a un usuario de MongoDB Atlas
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.
Get an Existing Deployment Configuration (Optional)
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 configuración de implementación existente para su aplicación realizando una solicitud PATCH al endpoint 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 impide que realices cambios en tu aplicación desde la Interfaz de usuario Realm. Puedes realizar cambios en tu aplicación a través de la Interfaz de Usuario y App Services confirma automáticamente los cambios al repositorio de GitHub vinculado.
Tip
If your linked GitHub repository contains new commits that are not reflected in your App Services UI changes, App Services can't automatically commit those changes to your repo. However, you can use the Export button to download the updated configuration files to your local machine, and then you push them manually to your GitHub repository.
Cuando los cambios se confirman en tu repositorio vinculado de GitHub, verás un enlace Commit: <commit-hash> en el Historial de implementación de tu 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.

Realiza 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 1.1.0 y posteriores de la CLI de App Services
En la CLI de App Services v1.1.0 y versiones 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 1.0.3 y anteriores de la CLI de App Services
En App Services CLI v1.0.3 y versiones anteriores, evite hacer 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.
If a contributor adds a new commit to a stale repo, they overwrite any deployed but uncommitted changes.
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 confirmación más reciente. Para implementar, confirma los cambios localmente, y luego empújalos 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.