How to Configure Project “Piper”–Options, Pros, and Cons
Project “Piper” is an open source continuous delivery (CD) offering by SAP, which can be used as a shared library for the automation server Jenkins. The library contains the implementation of steps, scenarios, and utilities required for running pipelines for SAP-specific development scenarios.
For more information about project “Piper” and the other CI and CD offerings by SAP, see Overview of SAP Offerings for CI and CD.
If you want to use the shared library of Project “Piper”, there are two main options how to configure it in your Jenkins – and two questions you should ask yourself to decide which of them to use: Do you want to stay up-to-date and have access to the cutting edge of our library? Or do you want your build environment to be as stable as possible and decide for yourself when to update to our latest version?
If you – like many SAP development teams – prefer the first option, refer to the latest commit on our master branch. In this way, you can directly consume the latest features. However, when we add new features, existing steps might slightly change, which bears the risk of breaking your pipeline.
If you aim at the maximum stability of your build environment instead, go for the second option and use a commit that you validated with both your Jenkinsfile and application. Thereby, you can decide yourself when to change to a later version of Project “Piper”. But beware: If you skip updates for a longer time, updating might require more effort.
For productive scenarios, we suggest going for the 2nd approach with a defined strategy to test and upgrade in regular intervals–this avoids possible noise in your pipeline caused by our changes.