The core of the Mendix Platform provides all the tooling required to continuously integrate model revisions. Revisions are committed to the Team Server version control repository, where they are merged with the latest revision of the model and assigned to the relevant user stories and test cases.
At any point and with a single click, a model revision can be versioned and pushed to the Mendix Build Server, packaged, and moved to staging before it is deployed to test. At that point, the platform’s built-in ATS system will run functional testing based on test cases defined against user stories.
The tested deployment packages can then be promoted to production (via further acceptance environments, if required) with two-factor authentication. Finally, applications are monitored using the platform’s built-in monitoring tools and feedback loops to complete the delivery pipeline.
Through automation with the Mendix Platform APIs, each of these functions can be automated into a continuous integration pipeline.
As part of the CI pipeline, testing can be fully automated. To implement unit tests, you can use the UnitTesting module, which is available in the Mendix Marketplace. In addition, testers and developers alike can use the Mendix Application Test Suite, a Selenium-based test service for automated UI testing. Third-party testing tools and services can also be used to integrate with the CI pipeline.
For more details, see Testing.
The Mendix Platform comes with an extensive range of APIs to help developers integrate the platform into their existing DevOps pipeline. With tools for CI/CD like Jenkins, Visual Studio Team Services, GitLab-CI, and Bamboo, you can leverage these APIs to build, test, and deploy applications automatically. These apps can be deployed on any public or private cloud or on premises, using either Docker or a Cloud Foundry container, and they can run on any container platform like Kubernetes or Cloud Foundry.
The following APIs are available to enable the external promotion of model revisions to all Mendix environments from outside the platform:
- Team Server API – allows you to retrieve the information (branches, revisions) of application models stored on the Team Server
- Build API – allows you to manage and create new deployment packages using the Mendix Build Server
- Deployment API – allows you to manage application environments in the Mendix Cloud – you can retrieve the app status, start and stop apps, and deploy and transport new model versions to app environments