Skip to content

Project "Piper" User Documentation

Continuous delivery is a method to develop software with short feedback cycles. It is applicable to projects both for SAP BTP and SAP on-premise platforms. SAP implements tooling for continuous delivery in project "Piper". The goal of project "Piper" is to substantially ease setting up continuous delivery in your project using SAP technologies.

What you get

To get you started quickly, project "Piper" offers you the following artifacts:

To find out which offering is right for you, we recommend to look at the ready-made pipelines first. In many cases, they should satisfy your requirements, and if this is the case, you don't need to build your own pipeline.

The best-practice way: Ready-made pipelines

Are you building a standalone SAP BTP application, an application with the SAP Cloud SDK, or using the SAP Cloud Application Programming Model?
Then continue reading about our general purpose pipeline, which supports various technologies and programming languages.

Previously, project "Piper" included also the SAP Cloud SDK Pipeline designed specifically for SAP Cloud SDK and SAP Cloud Application Model (CAP) projects. SAP Cloud SDK pipeline and its features are merged into the General Purpose Pipeline as of November 2020. The reasoning as well as further information how to adopt the General Purpose Pipeline are described in our guide.

The do-it-yourself way: Build with Library

The shared library contains building blocks for your own pipeline, following our best practice Jenkins pipelines described in the Scenarios section.

The best practice pipelines are based on the general concepts of Pipelines as Code, as introduced in Jenkins 2. With that you have the power of the Jenkins community at hand to optimize your pipelines.

You can run the best practice Jenkins pipelines out of the box, take them as a starting point for project-specific adaptations or implement your own pipelines from scratch using the shared library.

For an example, you might want to check out our "Build and Deploy SAPUI5 or SAP Fiori Applications on SAP Business Technology Platform (SAP BTP) with Jenkins" scenario.

Extensibility

For the vast majority of standard projects, the features of the ready-made pipelines should be enough to implement Continuous Delivery with little effort in a best-practice compliant way. If you require more flexibility, our documentation on Extensibility discusses available options.

API

All steps (vars and resources directory) are intended to be used by Pipelines and are considered API. All the classes / groovy-scripts contained in the src folder are by default not part of the API and are subjected to change without prior notice. Types and methods annotated with @API are considered to be API, used e.g. from other shared libraries. Changes to those methods/types needs to be announced, discussed and agreed.