Skip to content

Project "Piper" User Documentation

Easily set up continuous delivery in your software development using SAP technologies. Continuous delivery is a method to develop software with short feedback cycles. It is applicable to projects both on the SAP Business Technology Platform (BTP) and on SAP on-premise platforms. SAP implements tooling for continuous delivery in project "Piper".

What you get

To get started with project "Piper", you can choose from the following offerings:

  • A set of predefined pipelines that build, test, and deploy your code changes

You can choose between the following use cases:

To find out which offering is right for you, we recommend you to look at the preconfigured pipelines first. In most cases, you don't need to build your own pipelines - you can use the ready-made ones and adapt them according to your needs, if necessary.

If you don't need to care about the underlying infrastructure of your pipelines, you can use the SAP Continuous Integration and Delivery service on SAP BTP. It offers an easy, UI-guided way to set up continuous integration and delivery without hosting your own Jenkins instance.

SAP CI/CD vs Project "Piper"

The support infrastructure for SAP Continuous Integration and Delivery is provided by SAP according to the Service Level Agreements (SLAs). Project "Piper" offers community support using GitHub issues and pull requests. Users are free to contribute to the repository independently. See Contributing.

For more information about the CI/CD solutions offered by SAP, see SAP Solutions for Continuous Integration and Delivery.

To learn more about the continuous integration and delivery offerings by SAP, see Continuous Integration and Delivery by SAP and Continuous Integration and Delivery by SAP Learning Journey.

The Best-Practice Way: Ready-Made Pipelines

Use the general purpose pipeline to build a standalone SAP BTP application or an SAP Cloud Application Programming Model application project. It supports various technologies and programming languages.

The Do-It-Yourself Way: Customized Pipelines

The shared library contains building blocks for your own pipelines using Jenkins pipelines to implement best practice processes. For more information, see the Scenarios section from the navigation pane.

The best practice pipelines are based on the general concepts of Pipelines as Code, as introduced in Jenkins 2. This way, you can optimize your pipelines with the help of the Jenkins community.

You can run the best practice Jenkins pipelines out-of-the-box, use them for project-specific adaptations, or create your own pipelines from scratch using the shared library.

For an example, see the 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.