2019-05-17 14:35:08 +02:00
|
|
|
# Project "Piper" User Documentation
|
2017-07-11 15:12:03 +02:00
|
|
|
|
2019-05-17 14:35:08 +02:00
|
|
|
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 delivery processes for
|
|
|
|
the most important SAP technologies by means of Jenkins pipelines.
|
2017-07-11 15:12:03 +02:00
|
|
|
|
2019-05-23 21:56:42 +02:00
|
|
|
## What you get
|
2017-07-11 15:12:03 +02:00
|
|
|
|
2019-05-17 14:35:08 +02:00
|
|
|
Project "Piper" consists of two parts:
|
|
|
|
|
|
|
|
* [A shared library][piper-library] containing steps and utilities that are
|
|
|
|
required by Jenkins pipelines.
|
|
|
|
* A set of [Docker images][devops-docker-images] used in the piper library to implement best practices.
|
|
|
|
|
|
|
|
The shared library contains all the necessary steps to run our best practice
|
2019-09-09 10:16:02 +02:00
|
|
|
Jenkins pipelines described in the Scenarios section or
|
2019-05-17 14:35:08 +02:00
|
|
|
to run a [pipeline as step][piper-library-scenario].
|
|
|
|
|
|
|
|
The best practice pipelines are based on the general concepts of [Jenkins 2.0
|
|
|
|
Pipelines as Code][jenkins-doc-pipelines]. 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.
|
|
|
|
|
|
|
|
## Extensibility
|
|
|
|
|
|
|
|
If you consider adding additional capabilities to your `Jenkinsfile`, consult
|
|
|
|
the [Jenkins Pipeline Steps Reference][jenkins-doc-steps]. There, you get an
|
|
|
|
overview about steps that are natively supported by Jenkins.
|
|
|
|
|
|
|
|
The [Jenkins shared libraries][jenkins-doc-libraries] concept helps you to
|
|
|
|
extract reusable parts from your pipeline and to keep your pipeline code small
|
|
|
|
and easy to maintain.
|
|
|
|
|
|
|
|
Custom library steps can be added using a custom library according to the
|
|
|
|
[Jenkins shared libraries][jenkins-doc-libraries] concept instead of adding
|
|
|
|
groovy coding to the `Jenkinsfile`. Your custom library can coexist next to the
|
|
|
|
provided pipeline library.
|
|
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
|
|
[github]: https://github.com
|
|
|
|
[piper-library]: https://github.com/SAP/jenkins-library
|
|
|
|
[devops-docker-images]: https://github.com/SAP/devops-docker-images
|
2019-05-28 18:18:45 +02:00
|
|
|
[devops-docker-images-issues]: https://github.com/SAP/devops-docker-images/issues
|
|
|
|
[devops-docker-images-cxs-guide]: https://github.com/SAP/devops-docker-images/blob/master/docs/operations/cx-server-operations-guide.md
|
2019-09-09 10:16:02 +02:00
|
|
|
[piper-library-scenario]: scenarios/ui5-sap-cp/Readme/
|
|
|
|
[piper-library-pages-plugins]: requiredPlugins
|
2019-05-17 14:35:08 +02:00
|
|
|
[piper-library-issues]: https://github.com/SAP/jenkins-library/issues
|
|
|
|
[piper-library-license]: ./LICENSE
|
|
|
|
[piper-library-contribution]: .github/CONTRIBUTING.md
|
|
|
|
[jenkins-doc-pipelines]: https://jenkins.io/solutions/pipeline
|
|
|
|
[jenkins-doc-libraries]: https://jenkins.io/doc/book/pipeline/shared-libraries
|
|
|
|
[jenkins-doc-steps]: https://jenkins.io/doc/pipeline/steps
|
|
|
|
[jenkins-plugin-sharedlibs]: https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Shared+Groovy+Libraries+Plugin
|
|
|
|
[google-group]: https://groups.google.com/forum/#!forum/project-piper
|