The whole idea of continuous integration/continuous deployment (CI/CD), also known as continuous delivery, is to automate the Mendix application development and delivery process as much as possible. This is not only important to speed up development and deployment; it also results in higher quality applications because the testing feedback loop is much tighter. Developers just as importantly receive feedback in a timelier fashion, which allows them to address issues when they still remember how a specific piece of code was developed.
Mansystems has embedded a CI/CD platform within our SMART Digital Factory to make it simpler to implement these DevOps processes within the application development, testing and deployment process. Optimized for low-code development platforms such as Mendix, the whole idea behind the Mansystems SMART Digital Factory is to make it possible set up DevOps pipelines in minutes without requiring IT organizations to acquire, deploy and maintain an external solution that isn’t optimized for low-code platforms.
The SMART Digital Factory from Mansystems allows development teams to define and deploy application updates daily within a test environment. For a Mendix development team working on the Mendix cloud, this means that can take the latest commit, stop the testing environment, transfer the latest code to that environment, and then start the environment up again. They can even automatically create backups of data and settings.
The SMART Digital Factory then makes it possible to run code reviews, unit tests and user interface tests. The next morning, developers get the results via e-mail and can fix any regressions. But why wait a whole day? Let’s run those tests at noon the same day, or even on every hour or, for that matter, on every commit.
Those tests, by the way, are not limited to code updates. You can also choose to include security scans by defining a pre-configured database, running the initial scan, and setting that as a baseline. Now when the CI/CD runs a security scan, any differences between the baseline and latest code is immediately surfaced. It’s up to you to then decide whether that difference is intended or a side-effect of something unintended.
After fixing the unintended changes and re-running the security scan, you can set a new baseline for future use. Best of all, that approach brings application development security together within an integrated DevSecOps process. Developers are made immediately aware of the cybersecurity consequences of their actions, versus running a full security scan once a year, if ever.
The same tactic can be used for load testing. A load test can now be easily run to create a baseline to compare against using the same hardware and database. If, for example, a test runs is more than 10% slower than the baseline, that would suggest a second look at any changed functionality is warranted.
Development, test, acceptance, and production (DTAP) is the standard set of processes that every organization relies on to build and deploy applications. Now the entire DTAP process can be automated.
Organizations can even choose to create specialized environments for CI/CD, security or load testing so the pipelines run even faster and users can use the original test environment for manual testing.
When using a pipeline to transport to acceptance and production you can create save points in the process that make it possible to rollback any step in the process.
The SMART Digital Factory CI/CD has plug-and-play connectors for:
- Create/transport deployment packages
- Start/stop environments
- Create/restore backups
- Set/restore savepoints (backup, deployment package and settings)
Application code reviewer
- Review revision
- Calculate code coverage based on APM statistics snapshot
Application Test Suite
- Run test suite
Application Performance Monitor
- Create snapshot/reset counters
Application Load Test
- Run load test and compare against a baseline
Application Mode Security
- Run security scan and compare against a baseline
Mendix Unit Test
- Run all unit tests
There are plenty of open source and commercial CI/CD options available. However, to get your Mendix application into a CI/CD pipeline using, for example, the open source Jenkins CI/CD platform you need to first deploy and configure Jenkins, develop a pipeline, and find IT professionals with the DevOps skills needed to maintain it. The Mansystems SMART Digital Factory provides a more seamless approach to CI/CD that provides a truly out-of-the-box experience right on the same Mendix cloud on which low-code applications are already being developed and tested.