1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
Commit Graph

16 Commits

Author SHA1 Message Date
Oliver Nocon
bd0eed30ff
stageWrapper: new error handling (#1401)
* handlePipelineStepErrors: allow disabling for stages
* update error handling in stages
* move file loading into try catch
* Cleanup DebugReport before test

Apparantly, the same DebugReport instance is loaded
during all Unit Tests. Avoid left-overs from previous
tests.

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-04-15 14:02:41 +02:00
Srinikitha Kondreddy
27286deb59
Add env variable to control execution of extensions in project repo. (#1326)
* Introduce new env variable to restrict extension files exec

* Add docu on restricting exec of extension files

* Update documentation/docs/extensibility.md

Co-Authored-By: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Rename parameter

* Update documentation/docs/extensibility.md

Co-Authored-By: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Add test for restricting extensions exec

* Fix additional tests

* extract condition

* use binding for env vars

* mock env binding

* Update piperStageWrapper.groovy

🙄

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-03-31 12:51:34 +02:00
Christopher Fenner
6feb0cf9e9
fix(telemetry): disable telemetry in init stage (#1272)
* disable telemetry in init stage

* Apply suggestions from code review

* Update vars/piperStageWrapper.groovy
2020-03-19 10:49:28 +01:00
Oliver Nocon
289bb58e66
Fix issue with pipeline resilience (#1288)
closes #1286 which was introduced with #1146
2020-03-18 08:32:28 +01:00
Stephan Aßmus
71766be2f5
Pass stageName to dockerExecuteOnKubernetes (#1162)
This fixes configuring sidecars for the given stage when Jenkins runs
on Kubernetes and the surounding stage has passed a stageName via parameters which is different from env.STAGE_NAME.
2020-02-08 12:57:55 +01:00
Stephan Aßmus
164c12b9f0 Executing extensions in handlePipelineStepErrors
The code of extensions was not executed within the try-catch-block of
handlePipelineStepErrors. The main benefit of this change is better
logging and re-using the 'unstable' feature also for
extended/overwritten steps.
2020-02-04 12:33:13 +01:00
Stephan Aßmus
fbcae5be53 Exchange wrong TODO with NOTE about what actually happens 2020-02-03 12:37:20 +01:00
Stephan Aßmus
6c9e23db40 Feed DebugReport from piperStageWrapper
Information about overwritten/extended stages is stored in DebugReport (as done before in SDK Pipeline's runAsStage).
2020-02-03 12:37:20 +01:00
Stephan Aßmus
53833eaae9 Move stage stashing functionality into Utils
* No functional change intended
 * Steps in the SDK pipeline may use Utils for stashing,
   as separate stashFiles and unstashFiles steps are eliminated.
2020-01-29 12:30:07 +01:00
Stephan Aßmus
878e09abbb Adopt work-around for Jenkins on Kubernetes regarding deleteDir()...
... from SDK pipeline.
2020-01-24 11:29:35 +01:00
Stephan Aßmus
ddd10683c4 Added support for old "interceptor API" for extensions
This is part of the effort to get rid of the "runAsStage" step in the SDK pipeline, and use piperStageWrapper directly. The SDK pipeline currently needs to support for loading "old" extensions where the call() method had different parameters. The support for the exact API can and should be removed, however, having a mechanism for supporting old extension APIs seems beneficial in general.

Another crucial change is the deleteDir() call before unstashing at the beginning of the stage. Without this, the SDK pipeline fails to unstash, since apparently the workspace may not always be clean at that point.
2020-01-24 11:29:35 +01:00
Christopher Fenner
52ad001917 Update piperStageWrapper.groovy (#767) 2019-06-27 10:53:46 +02:00
Christopher Fenner
def66f4ffa
extend Analytics (#439)
* add extension mechanism for analytics

* add sha1 hashing

* correct return types

* correct registerEventListener method

* decrese visibility of createInstance

* correct typo

* catch exceptions from tests

* correct test case

* Update Analytics.groovy

* rename to Telemetry

* rename file

* fix typo

* add test case for generateSha1

* expose methods to tests

* add clear method for tests

* change return type

* add test for Telemetry class

* replace UtilsTests

* remove unused imports

* make default reporter static

* add stage parameters to payload

* simplify SHA1 method

* remove obsolete method

* remove obsolete methods

* remove outdated tests
2019-01-30 12:39:33 +01:00
Christopher Fenner
10267ce7d1
Analytics: add step parameter keys (#442)
* add stepParamKey values

* camelCase
2019-01-21 08:47:34 +01:00
Oliver Nocon
4064e6ffe1
piperStageWrapper - switch to parameter map for extensions (#424)
switch to using a parameter map
2019-01-14 10:25:47 +01:00
Oliver Nocon
e556fba950
add wrapper for stages contained in library (#341)
* add wrapper for stages contained in library

`piperStageWrapper` provides a wrapper for stages which we may include into the library.
It will take care about extension capabilities, locking, node handling, ... which should be a capability of every stage contained in the library.
2018-12-12 11:45:11 +01:00