An efficient software development process is vital for success in building business applications on SAP Cloud Platform or SAP on-premise platforms. SAP addresses this need for efficiency with project "Piper". The goal of project "Piper" is to substantially ease setting up continuous deployment processes for the most important SAP technologies by means of Jenkins pipelines.
Project "Piper" consists of two parts:
- A shared library containing steps and utilities that are required by Jenkins pipelines.
- A set of Jenkins pipelines using the piper library to implement best practice processes.
This repository contains Jenkins pipeline instructions in form of a
Jenkinsfile
(together with some auxiliary files) which require the shared
library of project "Piper" to run. They are available under
pipelines/<scenario>/Jenkinsfile
in this repository.
These best practice Jenkinsfiles are based on the general concepts of Pipelines as Code with Jenkins. They give you the power of the Jenkins community at hand to optimize your continuous delivery processes.
You can run the Jenkinsfiles out of the box or take them as a starting point for project-specific adaptations.
Currently, the following scenarios are supported:
- Installed shared library of project "Piper".
- Jenkins User with privileges to create jobs.
There are two recommended ways to consume our Jenkinsfile
. For both ways, you
need to create a new pipeline job in Jenkins that retrieves a pipeline from an
SCM. The location of the Jenkinsfile
may
differ:
-
The
Jenkinsfile
can be copied into the source code repository of the application. TheJenkinsfile
is referenced in the pipeline job configuration. -
The
Jenkinsfile
can be kept in its own repository separate from the application. In case you want to apply theJenkinsfile
to multiple applications, this approach is beneficial since you only need to maintain theJenkinsfile
in one place. You can consume theJenkinsfile
e.g. directly from this repository on GitHub.com or from your own fork of it. In this case there is a stubJenkinsfile
required in the source repository. An ready-to-use stub pipeline script is available here (docu).
Each Jenkinsfile
requires project specific configuration files in the
application sources. Templates for these configuration files are available in
the same folders as the respective Jenkinsfile
. Links to the respective
documentations can be found in the
pipeline overview section.
A list of known issues is available on the GitHub issues page of this project.
Feel free to open new issues for feature requests, bugs or general feedback on the GitHub issues page of this project.
Read and understand our contribution guidelines before opening a pull request.
Copyright (c) 2017 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file