Docs Menu

Docs HomeAtlas App Services

Application Deployment

On this page

  • Overview
  • Concepts
  • Deployment Methods
  • Application Components
  • Deployment History
  • Summary

Atlas App Services uses a deployment-based versioning scheme that allows you to group updates to your application and make them available to client applications at the same time. You can deploy a new version of your application with multiple deployment methods that each fit a particular development workflow. You can also review the historical state of your application based on the built-in deployment history log.

You can deploy new versions of your application through the App Services UI or one of multiple code-based deployment methods that each suit a particular development workflow.

Deployment Method
Type
Details
App Services UI
Manual

Use This Method If:

  • You want to use a browser-based GUI to develop and manage your App.

Deployment Pattern

For a detailed walkthrough, see Deploy from the App Services UI

  1. Make changes in the UI that are saved in a draft state and not visible to client apps.

  2. Review all draft changes and then deploy them together through the App Services UI.

Manual

Use This Method If:

  • You want to use a code-first approach to app development.

  • You want to use a command line interface to manage and deploy your App.

Deployment Pattern

For a detailed walkthrough, see Deploy Changes with Realm CLI

  1. Export a copy of your application to a directory of configuration files and download it to your computer.

  2. Add, remove, or modify configuration files in the directory to specify your updated application.

  3. When you've made all the changes that you want to, manually deploy them by importing the updated application directory.

App Services Admin API
Manual

Use This Method If:

  • You want to use a code-first approach to app development.

  • You want to use an HTTP API to manage and deploy your App.

Deployment Pattern

For a detailed walkthrough, see Deploy Changes with App Services API

  1. Create a new draft deployment through the API.

  2. Add, remove, or modify components of your application by calling relevant HTTP endpoints.

  3. When you've made all the changes that you want to, deploy the draft through the API.

Automatic GitHub Deployment
Automatic

Use This Method If:

  • You want to use a code-first approach to app development.

  • You want to use Git to version control your app.

  • You want to automatically deploy changes when you push to GitHub.

Deployment Pattern

For a detailed walkthrough, see Deploy Automatically with GitHub

  1. Host your exported application repository on GitHub.

  2. Add, remove, or modify configuration files in a local clone of the repository to specify your updated application.

  3. When you've made all the changes that you want to, commit them and push the changes to GitHub.

CI/CD Pipeline with the realm-cli
Automatic

Use This Method If:

  • You want to automatically test and deploy your app whenever you make changes.

  • You work on a larger app with multiple developers working on the codebase.

Deployment Pattern

For a detailed walkthrough, see Set Up a CI/CD Pipeline

  1. Develop your application and set up staging and production environments and a pipeline for any changes to flow through.

  2. Use realm-cli commands in your pipeline to update the app in response to changes in the configuration files.

  3. When you make any changes, they should propagate through the CI/CD Pipeline stages automatically.

Apps are composed of components like Functions, Triggers, Auth Providers, and Values. A deployment consist of at least one new, updated, or deleted component.

App Services uses configuration files to define your application's metadata and components. Every component is defined by its own configuration file and each type of component uses a distinct configuration file schema. The App Services UI manages your application's configuration files for you, but you can also use a code-based deployment method to update your application by adding, modifying, and deleting configuration files directly.

Apps are structured in a nested directory format called an application directory that contains configuration files for your application components. The configuration files are grouped into directories based on their component type. You can download a copy of the application directory for the most recently deployed version of an app by exporting it from the App Services UI or realm-cli, or by cloning the underlying Git repository.

For additional information on the structure of an application directory as well as the schema of each configuration file type, see App Configuration.

App Services logs every deployment of an application and exposes a list of the 25 most recent deployments in the History tab of the Deploy in the App Services UI. Each deployment log includes data about a set of changes, such as their status, origin, and time of deployment.

If you choose to deploy through the App Services UI, any changes you make are grouped in a row at the top of the deployment history table that represents draft changes made since the previous deployment. You can use the Action buttons on this row to manually deploy all draft changes.

The Deployment History is also where you can Export your App, or use the Re-Deploy button to rollback to a prior version.

The table of application deployment history logs in the App Services UI
  • Deployment allows you to group updates to your application and make them available to client applications at the same time in a new version.

  • App Services provides four ways to deploy depending on your project's workflow: App Services UI deployment, automatic GitHub deployment, realm-cli deployment, and App Services Admin API deployment.

  • A deployment consists of at least one new, updated, or deleted App Services component such as a Function, Trigger, Auth Provider, or Value.

  • App Services tracks deployment history up to 25 versions, allowing you to review and rollback to prior versions.

←  Application Configuration Files (Legacy)Deploy Apps Manually →
Give Feedback
© 2022 MongoDB, Inc.

About

  • Careers
  • Investor Relations
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2022 MongoDB, Inc.