Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
dvankempen
Product and Topic Expert
Product and Topic Expert








philip.mugglestone from the SAP HANA Academy and the Partner Innovation Lab just uploaded a new series of hands-on tutorial videos to help you apply DevOps principles to your application development on SAP Business Technology Platform (BTP).

In this blog post you will find the videos embedded with references and some additional information.

For more partner-focused hands-on developer series, see

To be informed when new posts are published about partner-related content in the video tutorials series, follow tag

Questions? Please post as comment.

Useful? Give us a like and share on social media.

Thanks!




Hands-On Video Tutorials


What You Will Learn


In this series of hands-on tutorial videos we help you apply DevOps principles to your application development on SAP Business Technology Platform (BTP).

A complete end-to-end scenario is covered which encompasses the following topics:

  • Architecture

  • Configuration of BTP subaccounts

  • Application development with SAP Business Application Studio and GitHub

  • Continuous Integration & Delivery (CI/CD)

  • Cloud Transport Management

  • Alert Notifications

  • Smoke testing via SAP Automation Pilot


YouTube Playlist


To bookmark or directly access the playlist, go to



Introduction


Video Tutorial


In this video tutorial, Philip Mugglestone provides an introduction to the DevOps topic with SAP BTP including architecture and where to find the relevant product reference guides. Philip also reviews SAP BTP service entitlements that will be used during the scenario.

https://youtu.be/jbGHIrvUAq4?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

2:00 - Documentation

3:20 - Architecture

4:50 - Documentation

5:45 - SAP BTP Accounts

6:20 - Entitlements

8:55 - Recap

References


For the documentation on the SAP Help Portal, see



Getting Started


Video Tutorial


In this video tutorial, Philip Mugglestone shows how to configure a developer landscape in SAP BTP including SAP Business Application Studio and SAP HANA Cloud.

https://youtu.be/fvqzVMrVx1s?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:45 - Create subaccount

1:35 - Enable Cloud Foundry (org) and create space

2:45 - Entitlements (add 9 service plans)

5:10 - Subscriptions

5:40 - Assign role collection

6:40 - Create SAP HANA Cloud instance

8:00 - Recap


Develop Application


Video Tutorial


In this video tutorial, Philip Mugglestone shows how to get started with application development in SAP BTP including how to use the SAP HANA Academy jumpstart generator and configure GitHub as the source code repository.

https://youtu.be/FGLNJyEC-ow?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:30 - GitHub Repository

1:00 - Create SAP Business Application Studio workspace Full Stack Cloud Application

2:00 - Clone Git Project

2:55 - Login to Cloud Foundry

3:40 - Launch Template Wizard

4:30 - Configure Project and enable CI/CD

7:50 - Commit and push 

11:10 - Recap


Continuous Integration and Delivery 


Video Tutorial


In this video tutorial, Philip Mugglestone shows how to configure and use SAP Continuous Integration & Delivery (CI/CD). This includes credentials, repositories and jobs.

https://youtu.be/1K8zwUy2dxc?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:45 - Subscribe to Continuous Integration & Delivery

1:20 - Assign role collection

1:55 - Continuous Integration and Delivery

2:15 - Add repository

3:15 - Configure Webhook

4:50 - Add job

7:40 - Pipeline settings

9:20 - Add credential for technical user

10:00 - Add technical user as member to Cloud Foundry space

11:15 - Stage, commit and push to trigger app deployment

13:30 - Cloud Foundry services and applications

14:00 - Assign role collection to business user

14:45 - Run app

15:45 - Recap


Transport Management I


Video Tutorial


In this video tutorial, Philip Mugglestone covers SAP Cloud Transport Management. After subscribing to the service and configuring credentials, BTP subaccounts are configured to host the QA and production nodes of the transport model. Philip also shows how to share an instance of SAP HANA Cloud between different subaccounts hosted in the same Cloud Foundry datacenter/region.

https://youtu.be/ZZFITOwjNjo?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:45 - Subscribe to Cloud Transport Management

1:30 - Create role collection and add business user

2:40 - Create Cloud Transport Management service instance and add service key

3:55 - Add credential with service key

5:00 - Create qa and prod subaccount; enable Cloud Foundry (org); add space; add technical user as member

7:50 - Configure entitlements for qa and prod subaccounts

9:50 - Create mapping for SAP HANA Cloud instance sharing

11:30 - Recap


Transport Management II


Video Tutorial


In this video tutorial, Philip Mugglestone continues to cover SAP Cloud Transport Management. BTP destinations are created before configuring Transport Management System (TMS) model with nodes and routes. Finally Philip triggers a CI/CD build job that will upload the Multi-Target Application (MTA) archive to the QA node.

https://youtu.be/Ep54V7bnpHU?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

1:00 - Documentation

2:00 - Create new Destination; clone for qa and prod

3:50 - Cloud Transport Management, Landscape visualization: Create qa and prod node with route

5:50 - Business Application Studio: Update config.yml 

7:00 - Stage, commit and push

References


For the documentation on the SAP Help Portal, see


Transport Management III


Video Tutorial


In this video tutorial, Philip Mugglestone continues to cover SAP Cloud Transport Management. The CI/CD build job triggered previously is reviewed before importing the MTA archive to the QA and Production nodes.

https://youtu.be/6Rtjz4w8gt0?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

1:50 - Uncomment mta.yaml to prevent loading of initial data and update version number

3:00 - Business Application Studio: Stage, commit and push

3:30 - Cloud Transport Management: Import queue to qa node

6:00 - BTP Cockpit: Assign role collection to business user in qa subaccount

7:00 - Cloud Transport Management: Import queue to prod node

8:00 - BTP Cockpit: Assign role collection to business user in prod subaccount

9:30 - Cloud Transport Management: Landscape Visualization


Alert Notifications


Video Tutorial


In this video tutorial, Philip Mugglestone shows how to use the SAP Alert Notifications service to automatically send a message to a selected Slack channel whenever a Cloud Transport Management import task starts and finishes.

https://youtu.be/_zIggw95S0I?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:30 - Create Alert Notification service instance with service key

2:00 - Create Destination ALERT_NOTIFICATION_SERVICE using service key settings

3:30 - Documentation

4:10 - Create new subscription for events TMS import started and finished; assign action type send message to Slack channel

6:30 - Slack: Create app and configure incoming webhook

7:45 - Finish create subscription

8:30 - Cloud Transport Management: Configure qa and prod node to perform notification

9:00 - Business Application Studio: Stage, commit and push 

9:50 - Cloud Transport Management: Import build into qa

References


For the documentation on the SAP Help Portal, see


Automation Pilot I


Video Tutorial


In this video tutorial, Philip Mugglestone shows how to set up a smoke test using SAP Automation Pilot. After reviewing the imported smoke test command it is executed locally and the required role assignments are added to the QA and Production landscapes.

https://youtu.be/76wPwL3Ldtg?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

2:25 - Subscribe to Automation Pilot

3:00 - Add role collection to business user

3:30 - Automation Pilot

4:45 - BTP Cockpit: Alert Notification, create service key

5:15 - Automation Pilot: Create alert notification with username and password

6:15 - Create command 

7:00 - Import Catalog as JSON from code sample

7:35 - Configure input: appName, appPath, datacenter, user, password

11:15 - Trigger command

12:00 - BTP Cockpit: Assign app_Viewer role collection to technical user in qa and prod subaccount

References


For the code sample, see


Automation Pilot II


Video Tutorial


In this video tutorial, Philip Mugglestone completes the configuration of the smoke test using SAP Automation Pilot. The smoke test command is set up to be executed automatically whenever a Cloud Transport Management import finishes with status messages sent to the Slack channel.

https://youtu.be/i6syVCuVqp0?list=PLkzo92owKnVybjwraUeSsMip0YTQnq013

0:00 - Introduction

0:40 - Automation Pilot: Execution, build event trigger

1:20 - BTP Cockpit: create alert subscription with Automation Pilot action

2:30 - Automation Pilot: create service account

3:45 - BTP Cockpit: create alert subscription with Slack notification

4:50 - Cloud Transport Management: Import queue from qa to prod

7:00 - Recap


Share and Connect


Questions? Please post as comment.

Useful? Give us a like and share on social media.

Thanks!

If you would like to receive updates, connect with me on

For the author page of SAP PRESS, visit







Over the years, for the SAP HANA Academy, SAP’s Partner Innovation Lab, and à titre personnel, I have written a little over 300 posts here for the SAP Community. Some articles only reached a few readers. Others attracted quite a few more. For your reading pleasure and convenience, here is a curated list of posts which somehow managed to pass the 10k-view milestone and, as sign of current interest, still tickle the counters each month.


17 Comments
eme_raj
Explorer
Thank for such detailed blog
S0019300750
Contributor
Wow. This is for sure the blog of the year 🙂 Thank you so much for all your detailed work.

It looks like there is bug in Cloud Transport Management service. The import in QAS failed (due to my trial account limits) but MTAR file is still added as queue entry in PRD. Ideally if transport fails in QAS, it should not be added to Production queue. Refer below screenshot.

BorisZarske
Product and Topic Expert
Product and Topic Expert
Hello Vinod,

You can configure the behavior of transport in the service: when creating a new node in SAP Cloud Transport Management Service, there is the option of the 'Forward Mode' - if set to 'Auto' (default), the request is automatically forwarded to the target transport nodes when the import of a transport request is started.


Node creation dialog of SAP Cloud Transport Management service


If you want to manually forward transport requests for this node (such as after having performed sophisticated test runs in QA), you can set the 'Forward Mode' to 'Manual'. In this case, a 'Forward' button appears in the import queue of this node and you can choose which transports to forward later. So, this might be a valid option for the node before PROD.

This is described in the user guide of SAP Cloud Transport Management service.

Best regards,
Boris
S0019300750
Contributor
Thank you Boris. This helps !
0 Kudos
Hi,

Thanks for the great blog !!

I am trying the implement the suggested scenario with Azure DevOps Repos for source code management instead of GitHub repository.

SAP BAS -> IDE

Azure DevOps Repos -> source code management repository

SAP Continuous Integration and Delivery Service -> CI/CD Pipeline

CTMS -> Transport service to move deployed code to QA and PROD environments

 

I am facing issue at below step.

3:15 – Configure Webhook

 

In Azure DevOps Repos, I see option to create Service Hooks -> Web Hooks.


 

 

 

 

 

 

 

 

 

 

On Next, I selected "Trigger on this type of event" as 'Code pushed' for repository and entered Webhook Payload URL generated from SAP CID service as 'URL' in Azure Repos. But on Test, it failed.


Please suggest, if SAP CID will work with Azure DevOps Repos ? While creating Repository, I see only 3 options are available  - GitHub, Bitbucket server and GitLab.


 

 
dvankempen
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Anubha,

Sounds like we might need some Azure DevOps expertise for this setup.

Suggest to post this question to the forum: answers.sap.com and tag with DevOps and Azure DevOps. Tags are monitored and might loop in the experts.

Thanks.
krzys
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Anubha,

at the moment, SAP Continuous Integration and Delivery does not support Azure Repos webhooks mechanism. But - good news everyone - it is planned for this year.

Christoph
0 Kudos
Thanks for the update Christoph !!
0 Kudos
Hi christoph.szymanski

I went through blogs and available tutorial videos and understood below combinations are most probable ones available for DevOps set up for SAP BTP Cloud Foundry apps.


Can you suggest if any one of these could be preferred, if licenses are not in consideration ? (Current set up when Azure Git is not available for BTP CI/CD)

Regards,

Anubha
krzys
Product and Topic Expert
Product and Topic Expert
0 Kudos
It depends 🙂

Go for the left-hand combo with SAP Continuous Integration and Delivery if you don't have highly custom requirements. It gives you much faster and care-free set up of pipelines.

Advantage of the Azure DevOps Pipeline approach is full flexibility and control, but it comes with more effort and required expertise.

 

Christoph

 
0 Kudos
Thanks Christoph for your valuable insight !!
yohihisayanagaw
Discoverer
Thank you for good Tutorials.

The failure occurred during the process of generating  “app-uaa” instance in 'Continuous  Integration and Delivery - Stage, commit and push to trigger app deployment' scenario

The message was output as follows.

Service broker error: Service broker xsuaa failed with: Error updating application null (Error parsing xs-security.json data: Inconsistent xs-security.json: Invalid appid "$XSAPPNAME(application,)" in granted-apps: May be '*' or only include characters 'a'-'z', 'A'-'Z', '0'-'9', '_', '-', '\', and '/'.)

 

Do you have any ideas for solving this problem?

I am guessing the cause. The description("granted-apps": ["$XSAPPNAME(application)"],) in xs-security.json is causing the issue

 
pmugglestone
Product and Topic Expert
Product and Topic Expert

Hi Yanagawa-san,

It looks like there may be an issue with the jumpstart generator and your guess looks to be correct.

Could you remove this entire line from your xs-security.json then try again?

            "granted-apps": ["$XSAPPNAME(application,)"],

Alternatively, if you install the latest release of the jumpstart generator for CAP (1.0.7) then re-create your project this issue should no longer occur.

Thanks,

Philip

yohihisayanagaw
Discoverer
0 Kudos
Hi, Philip -san.

Thanks for taking the time to reply.

 

I have made a try based on your advice. Also, the generator code seems to have been modified.

I passed the problem part but could not deploy the application successfully.

The three instances are created successfully, but a dump occurs during deployment.

It seems that the generator has several issues, since deploying directly from BAS to CF does not change the result.

 

I proceed in a way that does not use this generator.
Thanks for the advice.

 

 
TimC
Associate
Associate
0 Kudos
Hi Denys

Just noticed that that these video links are now not available - I assume because the Hana Academy channel is now decommissioned ?

The videos have proven very helpful and having been using them very recently (Dec 2023).  Do you know if they are available via another Channel (e.g. SAP Developers or SAP Services and Support) ?

 

Many thanks

 
BorisZarske
Product and Topic Expert
Product and Topic Expert

Hello Tim,

Thanks for your feedback!

I am happy to share that we have been able to persist the videos from Philip at the following location:
DevOps with SAP Business Technology Platform (BTP) - openSAP Microlearning

Please also see the comments we made for some of the videos in the 'Details' section, such as in case of UI changes since the recording of the videos. 

For example:

Screenshot from new location with comments

Best regards,
Boris

TimC
Associate
Associate
0 Kudos
Many thanks