Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Murali_Shanmu
Active Contributor
Continuous Integration and Continuous Delivery (CI/CD) is set of practices that help dev teams to deliver frequent code changes reliably. Until recently, SAP was offering best practice guides and open source projects for customers to setup their own CI infrastructure to manage this process. Few weeks ago, SAP announced the availability for "Cloud Integration and Delivery" service on SAP Cloud Platform. This provides customers with a pure cloud based solution to apply CI/CD practices when developing and deploying applications.

I would like to refer to the below image from Sarah Noack's blog post which shows all the different CI/CD solutions that are available - each differ in their level of flexibility and expertise required for setup and configuration.



I have prepared an E2E demo which shows how one can create a Fiori based extension application using Business Application Studio and leverage CI/CD, Transport Management and Alert Notification services to automate the build and deployment of the application across the landscape.

Below are the topics which are covered:

  1. Exposing a SAP backend system using SAP Cloud Connector

  2. Using SAP Business Application Studio templates to quickly build a Fiori application

  3. Configuring the CI/CD service to automate the build and deployment of the app

  4. Setup of Transport Management service to deploy the app across different subaccounts

  5. Configuring the Alert Notification service to stay informed of changes in the Import Queue of the Transport Management service



 

Please note that SAP Cloud Platform Continuous Integration & Delivery service is not yet available in trial landscape (at the time of posting this blog). However, Transport Management, Alert Notification and Business Application Studio are available in the trial landscape.

I have captured all the steps as part of this video and explained the steps required to configure these services. If you do have any questions on this topic, please post a question in the forum.



Useful Resources to get started:


21 Comments
janschober
Advisor
Advisor
Awesome stuff!! Thanks for putting the services in context and provide a nice little sample with it!
maheshz
Participant
0 Kudos
Hi Murali,

Thanks for the great explanation :). Is this service available on trial ?

Thanks,

Mahesh Z.
Murali_Shanmu
Active Contributor
0 Kudos
Hi Mahesh,

The CI/CD service is not yet available in trial. Its being planned.
Martin-Pankraz
Active Contributor
0 Kudos
Hi muralidaran.shanmugham2,

what are you thoughts in blue/green or canary deployments with this? I did an integration using the CF CLI myself. From the UI on your video I couldn't tell if you can influence the deployment commands.

KR

Martin
Murali_Shanmu
Active Contributor
0 Kudos
Hi Martin,

In nodes which we define in Transport Management, I see there is an option for Blue/Green deployment. I haven't tried this out yet.

Martin-Pankraz
Active Contributor
0 Kudos
ah ok, very good! So there is a wrapper for the standard CF CLI module for it. With plain CF configs it should also be possible to achieve canary release or other more sophisticated mechanisms. We are talking cloud-native after all 😉
js2
Product and Topic Expert
Product and Topic Expert
0 Kudos
Any idea when the CI/CD subscription will be available in sub-accounts hosted in au (ap10)?
Murali_Shanmu
Active Contributor
0 Kudos
Hi Jason, I don't have a concrete timeline for availability in ap10. Will let you know if I find more info.
BasanthSwain
Participant
0 Kudos
Nice Stuff Murali, Thanks for the video
maxstreifeneder
Product and Topic Expert
Product and Topic Expert
muralidaran.shanmugham2 & maheshz - CI/CD service is available on trial now 🙂
pramodu
Active Participant
Thanks a lot Murali for this blog !!

I was going through gCTS SAP TechED 2020 and then looking more details about CI/CD.

I found this blog which is really very well explained .

Couple of questions-

1) Lets say, if I have multiple Fiori Apps delivered and all those to be packaged separately  in github,  do  we need to create multiple jobs for a pipleline SAP-cloud sdk.  I am trying to understating how to do decide when and how many jobs to be set up in CI/CD.

2) For the scenario where ABAP CDS view is developed in ADT which on Prem, workbench TR is generated and need to push code in QA  . Do not need to follow above steps ?

Thanks,

Pramod
Murali_Shanmu
Active Contributor
0 Kudos
Thanks Pramod.

christoph.szymanski : Would you be able to help with this query? Thanks.
Hello Murli,

 

Few questions:

1-  Why did you use SAP cloud connector ? Is it for using database views used for fiori application that was installed on on premise system ?

2-  Can we use hana db for the above and create database instead ?

3- Devops service are now available in trial version too, can you create a new video which uses hana db and nothing of on premise system.

 

Thanks.

 
Murali_Shanmu
Active Contributor
0 Kudos
Hi Virender,

Please find my response below.

1- Why did you use SAP cloud connector ? Is it for using database views used for fiori application that was installed on on premise system ?

SAP Cloud Connector was to connect to the OData APIs from the backend SAP system. If you are to build a Fiori app using APIs from Cloud systems, then you don't need the Cloud Connector.

2- Can we use hana db for the above and create database instead ?

Yes, you can create a HANA Cloud DB instance and expose a table as an OData API. These APIs can be consumed directly by the Fiori apps

3- Devops service are now available in trial version too, can you create a new video which uses hana db and nothing of on premise system.

When I have time I will try to create a video with use of Fiori app and HANA DB.
former_member1413
Participant
0 Kudos
Hi Murali,

Thanks for detailed explanation. Blog is very nice.

I am not able to figure out , how can I change SAP system name while transporting.

In your case you have used QHD to connect to dataservice but now while transporting how will you tell your system dataservice should also be changed .

 

Regards

Tisha
former_member474174
Discoverer
0 Kudos
Hi Murali,

Is there any working example of project piper that you can share with us as a step by step guide like you did for SAP Cloud Platform Continuous Integration & Delivery service.

 

Regards,

Abhishek
BorisZarske
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Abhishek,

I assume you already know the scenarios from project "Piper" that provide example configuration as well.

Then, there are tutorials around CI/CD.

For example, a tutorial for setting up CI/CD for SAP Cloud SDK with project "Piper".

Best regards,
Boris

 

 

former_member474174
Discoverer
0 Kudos
Thank you Boris, it helps!
former_member824629
Discoverer
0 Kudos
Hi Murali,

Thanks for writing a detailed blog post.

 

Is there any way we can do the same for integration artifacts? Especially for Devops tools like Azure Devops and GitLab.

 

Thanks,

Ramya
Harald_Stevens
Product and Topic Expert
Product and Topic Expert
Hi Ramya,

to integrate third party CI/CD tools like Azure DevOps or Gitlab we offer the open source project Piper. It provides a library of SAP relevant pipeline steps to build your own pipelines.

For the topic of Cloud Integration artefacts there the relatively new steps starting with 'integrationArtifact' for example integrationArtifactDeploy.

Besides that the CI&D Service on SAP BTP offer a pipeline template to deploy integration artefacts. See the documentation.

Both approaches currently have the need to download the Cloud Integration content manually from Cloud Integration and store it in your Git repository. So it is not a fully automatic process.

Kind regards
Harald

 
former_member824629
Discoverer
0 Kudos
Hi Harald,

Can we implement a transport mechanism for integration artifacts using the DevOps pipeline?

 

Thanks,

Ramya
Labels in this area