CI/CD pipelines are all about automation, creating a workflow that moves your code changes through different processes and tools. The Midrange Dynamics solutions include REST APIs that facilitate bidirectional communication with other tools that are typically part of a CI/CD process. Through MDChange and MDWorkflow, you can participate in an existing CI/CD pipeline, or you can orchestrate the pipeline, communicating with other tools involved.
A CI/CD pipeline starts with planning. MDChange interfaces with front-end project management and ticketing systems such as Azure, ServiceNow, and Jira. As you update your IBM i applications, MDChange and MDWorkflow communicate status, update information, trigger events on the IBM i and other servers, and communicate with your ticketing system.
MDChange also gives you a choice of how you want to do your coding. You can code inside of source files and libraries, which is typical on the IBM i. You may also choose to place your code changes in a Git/SVN repository. In any case, MDChange will keep track of your code changes for you as they move through the build cycle.
IBM i applications differ from non-IBM i applications and those on other servers. The build process and environments are typically more complex than typical applications and many businesses rely on the IBM i as the system of record with billions of rows of data and thousands of mission-critical programs. Strong IBM i-based change management is essential to ensure that your applications are built and secured the way they should be.
MDChange and MDWorkflow communicate with all the tools in your CI/CD pipeline to inform them, for example, that a build is complete, Java code needs to go to a certain server, and that your code is in the QA environment and ready for testing. You could then send your software changes to SonarQube for code review or to your automated testing software. Based on testing results, it may be pushed back into development or move forward into a new test level and on toward release to production. Along the way, MDChange is keeping track of software changes as they move from environment to environment.
The release process is also an IBM i-centric function that involves getting objects to the right locations with authorities assigned, utilizing the appropriate information about how an object is built or bound together, and managing the data that needs to be placed back into a new version of a database table. MDChange makes certain that objects go to the right location, that they’ve been built correctly, and that data is placed back into the file. Throughout the release and deploy process, MDChange guarantees that everything gets where it needs to be, is secured appropriately, and that downtime is minimized using automation.
Ultimately MDChange ensures that the IBM i and non-IBM i parts of your business applications are deployed to production together, and in the event of an error, automatically rolls back to the previous version so that your users can continue to work as usual until the issue is resolved.