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: 
fwilhe
Advisor
Advisor
Note: This post is part of a series. For a complete overview visit the SAP Cloud SDK Overview.

Disclaimer: The SAP Cloud SDK for Continuous Delivery and its features have been merged into project "Piper". Therefore we recommend to use the General Purpose Pipeline of project "Piper" instead of the SAP Cloud SDK pipeline. The reasoning for this change, as well as further information on how to adopt the General Purpose Pipeline are described in this guide.


SAP Cloud Application Programming Model enables you to quickly create business applications by allowing you to focus on your business domain. It offers a consistent end-to-end programming model for full-stack development on SAP Cloud Platform.

Today, the SAP Cloud SDK team is glad to announce the availability of an open-source Continuous Delivery Pipeline tailored to SAP Cloud Application Programming Model on SAP Cloud Platform.

One month to go until SAP TechEd 2019. Learn more about the sessions featuring the SAP Cloud SDK in our dedicated blog post.



So, what is this all about? This picture puts everything into context of the broader SAP ecosystem:



As you can see, SAP Cloud SDK is a natural companion for SAP Cloud Application Programming Model applications, providing useful features like tight integration with SAP LoB solutions such as SAP S/4HANA and SAP SuccessFactors.

SAP Cloud SDK for Continuous Delivery Logo

Up until now, support for the Continuous Delivery was not complete for projects using SAP Cloud Application Programming Model. But this has changed.

Now, you can use a sophisticated CI/CD pipeline without having to write or maintain the pipeline yourself. Rather, you can take advantage of an open-sourced pipeline, maintained by the SAP Cloud SDK team on GitHub.

What’s in for you


So, why should you care? Let’s have a look at the top 3 features SAP Cloud SDK Continuous Delivery Pipeline will give you without any pipeline coding on your end:

  1. Automated testing



  • Run your integration tests on a real SAP HANA instance running on SAP Cloud platform easily

  • Built-in support for local tests (unit- and integration) as well as remote tests where your application is deployed to SAP Cloud Platform



  1. Best practices built-in



  • Detection of vulnerable npm dependencies using npm audit, so you don’t ship known security issues by accident

  • Static code checks using SpotBugs and pmd, both with default rules and SAP Cloud Platform specific rules for improved code quality

  • All SAPUI5 components in your application are automatically checked for best practices, letting you know when something is not yet quite right

  • Ensure you only use public API of SAP solutions such as SAP S/4HANA

  • Ensure you do resilient network calls, to avoid the fallacies of distributed computing



  1. Continuous deployment and delivery



  • Zero downtime deployment to SAP Cloud Platform, Cloud Foundry Environment


To give you a first impression of what you’re getting, please have a look at this visual representation of the pipeline:



More detailed information on the qualities checked by the pipeline can be found here.

Getting started


To get started right now, generate a project in SAP Web IDE based on the SAP Cloud Platform Business Application template. Make sure to check the Include support for continuous delivery pipeline of SAP Cloud SDK checkbox, as in this screenshot:



This will generate a project which already includes a Jenkinsfile, and a pipeline_config.yml file.

In case you already created a new project without this option, you’ll need to copy and paste two files into the root directory of your project, and commit them to your git repository:

Note: This only applies to projects created based on the SAP Cloud Platform Business Application template after September 6th 2019. They must comply with the structure which is described here.

If your project uses SAP HANA containers (HDI), you’ll need to configure createHdiContainer and cloudFoundry in the backendIntegrationTests stage in your pipeline_config.yml file as documented here

Now, you’ll need to push the code to a git repository. This is required because the pipeline gets your code via git. This might be GitHub, or any other cloud or on-premise git solution you have in your company.

Next, start your build server instance. We’ll utilize the so called Cx Server for that, which is developed by SAP’s project “piper”. It is based on popular and battle-tested open source components, such as Jenkins, Docker and Nexus. Thanks to the Cx Server provided life-cycle management scripts, it is ready to work within a few minutes. For a setup guide, please follow the Cx Server operations guide.

Alternatively, you can run SAP Cloud SDK Continuous Delivery Pipeline also on a Kubernetes cluster, if you wish to do so. An in-depth guide can be found in this blog post.

To get the best out of your pipeline, be sure to configure the productionDeployment stage so your changes are deployed automatically.

Community support


In case something does not work the way you expected it, or you have general questions, feel free to ask on answers.sap.com with the tags SAP Cloud Application Programming Model and SAP Cloud SDK or on StackOverflow using the sap-cloud-sdk tag.

If you discovered a bug in the pipeline, please report it on GitHub.

That’s all for this post, happy continuous delivering 🙂
7 Comments
ibibhu
Product and Topic Expert
Product and Topic Expert
Great blog ?
fwilhe
Advisor
Advisor
Thanks for the feedback, I appreciate it. 🙂
ssimsekler
Active Contributor
Hi Florian

 

Great news! Can this be ported to other dev models? E.g. for the deployment of frontend applications (SAPUI5) on SCP.

 
fwilhe
Advisor
Advisor
0 Kudos
Hi Serdar,

 

thanks for the feedback.

 

I'm not sure if I understand your question. What I describe in this blog post is a ready-made pipeline for applications following the SAP Cloud Platform Business Application template in SAP WebIDE. Those applications may include a SAPUI5 frontend. For applications following another template, we currently don't have ready-made pipeline, but maybe you'll want to check out the scenarios we have documented in project "Piper" which is the larger umbrella for CI/CD in SAP environments.

Hope this helps. If you have more specific questions, feel free to get in touch.

 

Kind regards

 

Florian
0 Kudos

Hi, great post! I wanted to report that the link to the image of the visual representation of the pipeline is broken... 🙁

Edit:

The links to Jenkinsfile andpipeline_config.yml are also broken.

fwilhe
Advisor
Advisor
0 Kudos
Hi Heise Brian Nicholas,

Thanks for letting me know. I'll have to update the post.

Please note that the Cloud SDK Pipeline is not in active development anymore. See here for information on how to move to the project "Piper" pipeline which is in active development.

Kind regards

Florian

 
0 Kudos
Thanks a lot! I'll check that out.