Mendix applications are easily built from their models, as the models are stored under version control in the Mendix Team Server on the platform. There are two ways to build a Mendix Deployment Archive for an app.
With Mendix Studio Pro, you can create a deployment package by simply selecting the option from the menu, and a fully functional deployment package is created on your disk.
For full control, you can leverage the Mendix Developer Portal, which allows DevOps teams to manage model versions in the Team Server and create versioned deployment packages from those model versions. These versioned deployment archives are stored in the Mendix Deployment Package Repository in the Mendix Cloud and can be staged with a few clicks to any environment.
Regardless of where the Team Server is hosted (by default in the Mendix Cloud, or alternatively, with an on-premises Team Server implementation), Mendix supports full automation of the build process.
For almost all customers, the fully managed Mendix Team Server is the optimal solution for the version control of Mendix application models. In this scenario, the Mendix Developer Portal, Mendix Studio, and Mendix Studio Pro provide user interfaces to easily create versioned deployment archives. Platform APIs enable development teams to fully automate this process.
In some specific cases, an on-premises Team Server implementation can be used. In this scenario, Mendix provides an on-premises solution for the build process. You can use the MxBuild command-line tool to automate the build process. MxBuild provides the same model consistency guarantees mentioned above in the section How Do I Create a Build for My App? as when Mendix Studio, Mendix Studio Pro, the Developer Portal, or platform APIs are used to create a deployment package.
The Mendix Platform provides APIs to automate the build process so that development teams can integrate the build process into their CI/CD pipeline tools and services of choice.
With the Team Server API and Build API, development teams can create a versioned deployment package for any revision of the app model stored in the Mendix Team Server. These deployment packages are automatically stored in the Mendix Deployment Package Repository. These deployment packages are usable for deployments to any environment through both the Mendix Developer Portal and the Deploy API.
For more details on how to integrate the Mendix build process in third-party CI/CD pipeline tools and services, see the section How Can I Use My Own CI/CD Tooling with Mendix? in CI/CD.