Cloud-Based Continuous Integration for On-Premises ABAP Systems
This blog post is about a new scenario enabled by SAP Continuous Integration and Delivery service: Running continuous integration pipelines to deploy SAP Fiori applications to on-premises ABAP systems.
Scale up development of Fiori extension for the ABAP platform
One of the most common extension scenarios in the ABAP world is to deploy SAPUI5 and Fiori applications to the ABAP Gateway. It is understandable why: It allows you to create web UIs which are easy to use and that can tap into the wealth of data and business processes available in the ABAP system.
If you are a user of this scenario and if you go beyond a one-person part time project, you will probably feel the need for continuous integration and continuous delivery (CICD).
In other words, you want central execution of tests for each change to avoid the dreaded “but on my machine it works!” situation (continuous integration). You also want an automated deployment to ensure that what gets deployed really comes from the main branch of your project (continuous delivery).
Sounds familiar? Then please read on…
How to implement CICD?
Of course, the pipelines doing all these good things need to run somewhere. The first option is to set up your own stack on your own infrastructure. Usually, that means Jenkins. Once you got your Jenkins up and running, the SAP-driven open source project “Piper” can help you create pipelines for your projects.
Setting up an own stack comes with a cost of ownership. You will need to operate the Jenkins and the infrastructure underneath. Your team will also need to build up some Jenkins specific knowledge on how to adapt pipelines, configure jobs, maintain credentials, and so on.
The second options is to use a cloud (software as a service) offering for implementing CICD.
There are different options on the market, including one from SAP: SAP Continuous Integration and Delivery which supports the scenario out of the box.
In SAP Continuous Integration and Delivery, we call the scenario SAP Fiori for the ABAP Platform. Follow the link to check out the documentation. Using our service, not only setting up the scenario becomes significantly easier, but you also don’t need to take care about any underlying infrastructure. And, finally, if things go wrong you get customer support!
Bridging the Gap between On-Premises and Cloud
Now wait a second, you might say. This blog post is not about “ABAP in the Cloud”. Your ABAP systems run in your own data center and are not connected to the Internet for very good reasons? So there is no way a fancy cloud service can deploy an application on them…
But actually, there is. SAP Continuous Integration and Delivery can do exactly that. How does that work? Because our service is part of the SAP Business Technology Platform (SAP BTP), we can make use of other SAP BTP services, in particular SAP Connectivity service.
For the connectivity service to do its magic, you need to set up a Cloud Connector in your data center.
Via the Cloud Connector, an encrypted data tunnel to the connectivity service is established. Through this tunnel, certain SAP BTP services can access those on-premises systems which are explicitly allowed in the Cloud Connector. Here is a simplified diagram showing the data flow:
Once the Cloud Connector is in place and connected, the only thing you need to configure in SAP Continuous Integration and Delivery is the identifier (Location ID) of your Cloud Connector.
Maybe in your setup it is not only the ABAP system that is on-premises but also your source code repository? Don’t worry, you can use your source code repository in exactly the same way. There is even a tutorial about that.
If you are interested in the details of our implementation, just write a comment, I will gladly do another blog post on that.
SAP Continuous Integration and Delivery offers a unique value proposition: While all your assets (ABAP system, source code repositories) remain on-premises, you can nevertheless benefit from a modern cloud service to achieve continuous integration and delivery for your projects.
If you have questions or remarks, please leave a comment. If you are interested in our service, please follow the tag “SAP Continuous Integration and Delivery”.