1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
Jenkins shared library for Continuous Delivery pipelines.
Go to file
Christopher Fenner 3c86a3c54d
add missing script (#377)
fixes #376
2018-11-09 07:42:33 +01:00
.github fix Markdown issues (#365) 2018-11-06 13:50:09 +01:00
cfg Deploy mkdocs when merging to master 2018-03-12 09:58:32 +01:00
documentation add new step karmaExecuteTests (#351) 2018-11-08 12:15:15 +01:00
resources add new step karmaExecuteTests (#351) 2018-11-08 12:15:15 +01:00
src/com/sap/piper Merge branch 'master' into pr/changeDocumentIdInCommonPipelineEnv 2018-11-08 11:00:28 +01:00
template correct step invokation in tests (#368) 2018-11-07 11:45:38 +01:00
test add new step karmaExecuteTests (#351) 2018-11-08 12:15:15 +01:00
vars add missing script (#377) 2018-11-09 07:42:33 +01:00
.codeclimate.yml deactivate MD013 - line length (#367) 2018-11-08 13:47:32 +01:00
.editorconfig fix Markdown issues (#365) 2018-11-06 13:50:09 +01:00
.gitignore ignore bin folder (#326) 2018-10-05 08:22:55 +02:00
.travis.yml disable download logs in maven (#370) 2018-11-07 13:08:24 +01:00
createDocu.groovy Fix identations 2018-11-05 10:19:57 +01:00
createDocu.sh Abandon backtick syntax in bash 2018-11-05 10:52:44 +01:00
gh-pages-deploy.sh create .ssh dir 2018-09-26 12:54:55 +02:00
Jenkinsfile Fix mail notification 2017-11-22 14:16:28 +01:00
LICENSE Initial commit 2017-10-17 16:14:48 -04:00
NOTICE Create NOTICE 2017-11-14 09:51:35 +01:00
pom.xml add sources for code coverage (#349) 2018-10-24 12:09:51 +02:00
README.md add badges for code climate (#364) 2018-11-06 14:23:52 +01:00

Build Status Coverage Status Maintainability Test Coverage

Description

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.

Please follow this link to our extended library documentation.

What you get

The shared library contains all the necessary steps to run our best practice Jenkins pipelines.

The best practice pipelines are based on the general concepts of Jenkins 2.0 Pipelines as Code. 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. There, you get an overview about steps that are natively supported by Jenkins.

The Jenkins shared 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 concept instead of adding groovy coding to the Jenkinsfile. Your custom library can coexist next to the provided pipeline library.

API

All steps are intended to be used by Pipelines. All the classes / groovy-scripts contained in the src folder are not part of the API and are subjected to change without prior notice.

Requirements

  • Java Runtime Environment 8
  • Installation of Jenkins v 2.60.3 or higher running on Linux. We tested with debian-stretch.
  • Jenkins Plugins installed as described in the Required Plugin section.
  • A Jenkins user with administration privileges.
  • The Jenkins instance has access to github.com.

Download and Installation

To setup the shared library, you need to perform the following steps:

  1. Login to your Jenkins instance with administration privileges.
  2. Open the system configuration page (Manage Jenkins > Configure System).
  3. Scroll down to section Global Pipeline Libraries and add a new Library by clicking the Add button.
    1. set Library Name to piper-library-os
    2. set Default Version to the branch or tag you want to consume (e.g. master or v0.1)
    3. set Retrieval Method to Modern SCM
    4. set Source Code Management to Git
    5. set Project Repository to https://github.com/SAP/jenkins-library
  4. Save changes

Library Setup

Now the library is available as piper-library-os and can be used in any Jenkinsfile by adding this line:

@Library('piper-library-os') _

Jenkins will download the library during execution of the Jenkinsfile.

Known Issues

A list of known issues is available on the GitHub issues page of this project.

How to obtain support

Feel free to open new issues for feature requests, bugs or general feedback on the GitHub issues page of this project.

Contributing

Read and understand our contribution guidelines before opening a pull request.

License

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