What is CI?
Continuous Integration for developers is equivalent to being able to merge code changes as often as possible. Changes are validated using automated tests after they are submitted to Git.
What is CD?
Most often, this abbreviation stands for Continous Delivery, although sometimes it stands also behind Continuous Deployment.
The first rollout means quick and sustainable sharing of newly created changes with users. It is closely related to the CI. Continuous Delivery allows you to easily deploy your application at any time.
Continuous Deployment goes a step further. If the CI went smoothly and was successful, the application is made available automatically, without the need for any action, even a click.
There are many tools to use CI / CD for UI5 applications. Most of them run in the cloud. Some are external, the others are from SAP which is constantly developing them. Simplifying this option should reduce the need to install many different components and carry out numerous configurations.
The model setup of the Fiori project in Hicron looks like this:
Project preparation stages:
- Establishing a secure connection Gateway <-> Cloud connector
- Creating a project structure in GitLab
- Configuration of the GitLab <-> Gateway system connection, to be able to run the application automatically on the server (technical / branch/code review configuration, etc.)
- Preparation of the configuration for the phases CI / CD (CI / CD pipelines):
- Build
- Test
- Stage
Development stages:
- In an environment prepared in such a way, each change is created in separate branches based on the main branch.
- The programmer writes unit tests for each change, which are automatically run in GitLab.
- After successfully passing the tests, each change must undergo a code review.
- After the correct code review, the change merges with the main branch.
- After correct merging, the application is automatically built according to pipelines (as above) and sent to the Gateway system (DEV).
CI / CD in OData
The range of systems is divided into three different versions: development (DEV), testing (TEST), and production (PROD). In this order, they are connected by transport paths, along which orders are exported from one system and imported to the next.
By combining a CI / CD for Fiori, the quality of the code is ensured. CI allows you to convert sources to the appropriate format, runs automatic tests, and creates a development object that is ready to be sent to the SAP repository (to the DEV system). From there, the SAP system transfers the changes to the test system and finally to the production system. Communication between SAP and Git takes place through the cloud connector using the OData protocol (according to the standard implementation).
Continuous Integration, Delivery, and Deployment bring many benefits. It is not only about creating a process of integrating changes in the application code and frequent and automatic implementation of changes. It is also the possibility of parallel work of programmers, shortening the waiting time for feedback from end-users, facilitating your work, and minimizing the option of errors due to code review and automatic tests. A set of these tools allows you to minimize target costs while supporting and long-term development of the application.