Skip to Content
Technical Articles
Author's profile photo Denys van Kempen

DevOps with SAP Business Technology Platform | Hands-on Video Tutorials

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!

/wp-content/uploads/2016/02/sapnwabline_885687.png

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

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

/wp-content/uploads/2016/02/sapnwabline_885687.png

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.

/wp-content/uploads/2016/02/sapnwabline_885687.png

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Raj Anand
      Raj Anand

      Thank for such detailed blog

      Author's profile photo Vinod Patil
      Vinod Patil

      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.

      Author's profile photo Boris Zarske
      Boris Zarske

      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%20creation%20dialog%20of%20SAP%20Cloud%20Transport%20Management%20service

      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

      Author's profile photo Vinod Patil
      Vinod Patil

      Thank you Boris. This helps !

      Author's profile photo Anubha Pandey
      Anubha Pandey

      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. Azure%20Repos%20service%20hook

       

       

       

       

       

       

       

       

       

       

      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.

       

       

      Author's profile photo Denys van Kempen
      Denys van Kempen
      Blog Post Author

      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.

      Author's profile photo Christoph Szymanski
      Christoph Szymanski

      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

      Author's profile photo Anubha Pandey
      Anubha Pandey

      Thanks for the update Christoph !!

      Author's profile photo Anubha Pandey
      Anubha Pandey

      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

      Author's profile photo Christoph Szymanski
      Christoph Szymanski

      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

       

      Author's profile photo Anubha Pandey
      Anubha Pandey

      Thanks Christoph for your valuable insight !!