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

741 Commits

Author SHA1 Message Date
Marcus Holl
952c6bbe88 remove empty line 2019-05-24 09:22:16 +02:00
Alejandra Ferreiro Vidal
927f199660 minor change in slackSendNotification documentation 2019-05-23 20:16:02 +02:00
Alejandra Ferreiro Vidal
c21a4a6a3e remove semikolons 2019-05-23 14:28:32 +02:00
Marcus Holl
7899f17b68 [nameing] improve misleading variable name. 2019-05-23 10:19:49 +02:00
Marcus Holl
4b61f362d2 Removing syntactically not needed commas which helps keeping diff smaller 2019-05-23 09:23:36 +02:00
Marcus Holl
ed155ece63 rename mtaExtensionDescriptos to extensions 2019-05-23 09:20:10 +02:00
Oliver Nocon
14765d5b56
Merge branch 'master' into pr/avoidHavingNeoLogFolderStringLiteralThreeTimes 2019-05-22 10:59:18 +02:00
Oliver Nocon
dbf110504e
Templates - Add advanced confirm stage (#720)
* Templates - Confirm Stage
* include feedback: allow customizing of default message
* adapt docs
* add default message
2019-05-22 10:42:59 +02:00
Marcus Holl
c59cb912dd docu: mtaExtensionDescriptors are only valid for deploy mode mta. 2019-05-22 08:24:14 +02:00
Tom Kiemes
e17753f3cd Fix formatting (#719)
* Fix formatting

Co-authored-by: Markus Winkler 

* Update createDocu.groovy
2019-05-22 08:16:07 +02:00
Christopher Fenner
77e344d181
fix code climate issues II (#715)
* fix code climate issues

* fix code climate issues

* fix code climate issues
2019-05-17 13:20:13 +02:00
Christopher Fenner
6d5fdd41bf
fix code climate issues (#712)
* fix code climate issues

* fix code climate issues

* Update GitUtils.groovy
2019-05-16 10:46:13 +02:00
Marcus Holl
1a907a834d Merge remote-tracking branch 'github/master' into HEAD 2019-05-16 09:13:51 +02:00
Marcus Holl
74af6bab5f Add extensions to neoDeploy
Extensions can be provided via --extension --e to the neo deploy command
line for deploy-mta. This commits adds support for providing extension files.
2019-05-16 09:13:23 +02:00
Sven Merk
23439e3df3
Merge branch 'master' into fortify-PR 2019-05-15 20:56:19 +02:00
Christopher Fenner
9db487d189
move method to MapUtils (#709)
* move method to MapUtils

* use MapUtils

* fix indent

* Update src/com/sap/piper/MapUtils.groovy

* Update MapUtils.groovy

* remove obsolete test case

* fix typo
2019-05-15 20:52:45 +02:00
Sven Merk
07f73dab71 Compatibility to Piper PR support 2019-05-14 16:30:13 +02:00
Christopher Fenner
c8f9db71eb
add step for Sonar scan (#183)
* add new step sonarExecute

* simplify list

* add general credentials for SonarQube

* Update default_pipeline_environment.yml

* Update sonarExecute.groovy

* correct worker invocation

* switch step/stage config order

* add tests

* add webhook handling

* Update default_pipeline_environment.yml

* use withMandatoryProperty with condition

* Update ConfigurationHelper.groovy

* Update sonarExecute.groovy

* Update ConfigurationHelper.groovy

* rename step to sonarExecuteScan

* rename step to sonarExecuteScan

* rename step to sonarExecuteScan

* Update sonarExecuteScan.groovy

* change return type

* Update sonarExecuteScan.groovy

* stash

* update defaults

* update install path

* use quiet unzip

* use long option names

* optimize filename retrival

* rework PR voting

* fix path

* remove accitentially checked-in file

* add documentation, optimise coding

* correct test case

* add documentation

* remove option prefix

* rename config variable

* update docs

* update docs

* rename download url

* fix typo

* adjust test cases

* add test cases

* update docs
2019-05-13 12:29:07 +02:00
Marcus Holl
48c96a5a31 Avoid having the same string literal for the neo log folder three times 2019-05-10 13:47:14 +02:00
Marcus Holl
cdc9e2c266 Merge remote-tracking branch 'github/master' into HEAD 2019-05-10 08:44:51 +02:00
Christopher Fenner
8a55e25f72
add Slack notification to Init and Post stage (#691)
* add Slack notification to post stage

* add Slack notification to init stage

* add trigger condition for Slack notification

* fix whitespaces

* use capital stage name

* add tests for init stage

* remove unused import

* add tests for post stage

* minor changes

* fix typo
2019-05-10 06:47:44 +02:00
Marcus Holl
46367263b6 Merge remote-tracking branch 'github/master' into HEAD 2019-05-09 15:49:26 +02:00
Florian Geckeler
79b55cc064
Enable configuration of npm registry for mtaBuild 2019-05-09 08:51:11 +02:00
Oliver Nocon
e20eb3c320
pipeline initialization - support nested keys (#695)
* pipeline initialization - support nested keys

support a nested structure for config keys for initialization conditions, like

```
Acceptance:
    stepConditions:
      cloudFoundryDeploy:
        configKeys:
          - 'cfSpace'
          - 'cloudFoundry/space'
```

* optimize code
2019-05-08 12:04:47 +02:00
Oliver Nocon
a67f850fdb
add step for Synopsis Detect Scans (#690)
* add step for Synopsis Detect Scans

tool was formerly calles Blackduck Hub Detect.
Details about the tool can be found here: https://synopsys.atlassian.net/wiki/spaces/INTDOCS/pages/62423113/Synopsys+Detect
2019-05-08 11:36:01 +02:00
Oliver Nocon
46a6525c4e
Pipeline resilience - be more verbose (#677)
* Pipeline resilience - be more verbose

Be more verbose about when a pipeline gets into 'UNSTABLE' state.

Collect step name centrally to be able to inform end-users at a later point inside a pipeline (e.g. during an approval step).

* address PR feedback
2019-05-03 14:06:49 +02:00
Oliver Nocon
6c5d9f2f61
Pipelines - extend init conditions (#676)
extends init condition with condition `configKeys`
This condition allows to specify a list of configuration keys which if any key is set will activate the respective step & stage
2019-05-02 22:09:15 +02:00
Oliver Nocon
700a6e2e4e
Add step kanikoExecute for Docker builds using Kaniko (#684)
* Add step kanikoExecute for Docker builds using Kaniko
* Update kanikoExecute.md
* address PR feedback
2019-05-02 17:29:11 +02:00
Christopher Fenner
e8f206b1a1
piperPipeline: add extensible post stage (#661)
* add post stage

* use post stage in template

* adjust test cases

* add docs skeleton

* add documentation

* Update piperPipelineStagePost.md
2019-05-02 12:26:28 +02:00
Oliver Nocon
99821afab8
Doc - Add missing possible values (#679) 2019-04-29 11:43:26 +02:00
Florian Wilhelm
49c704c9aa
Allow setting global maven config in MTA builder (#667) 2019-04-24 12:47:37 +02:00
Florian Wilhelm
ee42e66802
Honor maven user-settings file for mta build (#663)
Allow setting custom settings file for maven in mta build, which is for example required if a custom maven repo (i.e. company internal) needs to be used.
2019-04-17 10:44:55 +02:00
Christopher Fenner
eacec4279d
piperPipeline: handle build result correctly (#660)
* add new step buildSetResult

* set pipeline result in post stage

* exclude buildSetResult from commonStepTests

* extend pipeline test

* remove post stage reference
2019-04-15 14:18:08 +02:00
Alejandra Ferreiro Vidal
0a4deaf69a pipelineStashFiles: generate docu 2019-04-12 22:45:31 +02:00
Alejandra Ferreiro Vidal
0df4df8d58 neoDeploy: generate docu 2019-04-12 21:35:27 +02:00
Alejandra Ferreiro Vidal
89f37ed1a0 influxWriteData: generate docu 2019-04-12 20:29:09 +02:00
Alejandra Ferreiro Vidal
5448385985 add multicloud deploy step 2019-04-12 17:51:38 +02:00
Marcus Holl
bb03cb02e5 Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 14:46:08 +02:00
Marcus Holl
71c0df4d5f Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 13:48:31 +02:00
Marcus Holl
fc93326805 Merge remote-tracking branch 'github/master' into HEAD 2019-04-12 13:13:31 +02:00
Alejandra Ferreiro Vidal
f9db4245e9 cloudFoundryDeploy: generate docu 2019-04-12 13:08:05 +02:00
Oliver Nocon
4b02143ba3
Merge branch 'master' into pr/noCachedWorkspaceStashes 2019-04-12 11:59:31 +02:00
Marcus Holl
28fa30fc8f Do not swallow original excpetion when we have trouble to cat the logs 2019-04-12 10:06:18 +02:00
Alejandra Ferreiro Vidal
c7998f4db4 artifactSetVersion: generate docu 2019-04-12 09:23:10 +02:00
Christopher Fenner
dccaa780fc
cloudFoundryDeploy: return proper error message on deploy error (#651)
* return proper error message on deploy error

* fix typo

* provide meaningful error messages

* Update cloudFoundryDeploy.groovy

* Update cloudFoundryDeploy.groovy

* Update neoDeploy.groovy

* Update neoDeploy.groovy
2019-04-12 09:07:53 +02:00
Alejandra Ferreiro Vidal
0303d9baab githubPublishRelease: generate docu 2019-04-11 14:23:06 +02:00
Christopher Fenner
e67b9cff23
influxWriteData: hold data in dedicated object (#624)
* add InfluxData object

* add InfluxData rule

* use InfluxData

* include jenkins_custom_data into InfluxData object

* correct typo

* add missing import

* fix condition for influx reporting

* add test class

* Update influxWriteData.groovy
2019-04-11 11:39:41 +02:00
Marcus Holl
76901afb00 Merge remote-tracking branch 'github/master' into HEAD 2019-04-11 07:56:35 +02:00
Alejandra Ferreiro Vidal
19f9005dc5 transportRequestRelease: generate docu 2019-04-10 15:27:06 +02:00
Alejandra Ferreiro Vidal
4c62102fa8 transportRequestUploadFile: generate docu 2019-04-10 13:58:46 +02:00
Christopher Fenner
e90ffa6bf5
commonPipelineEnvironment: add propertiesMap (#526)
* add customPropertiesMap

* migrate transportRequestId to customPropertiesMap

* migrate transportRequestId to customPropertiesMap

* fix typo

* rename map

* rename method due to name clash
2019-04-10 10:56:36 +02:00
Alejandra Ferreiro Vidal
0565b5e63f transportRequestCreate: generate docu 2019-04-09 22:12:21 +02:00
Alejandra Ferreiro Vidal
394f94c851 update documentation 2019-04-09 20:46:45 +02:00
Alejandra Ferreiro Vidal
a179dc6e3d checksPublishResults: generate docu 2019-04-09 19:46:23 +02:00
Alejandra Ferreiro Vidal
86978becfc remove utils.getMandatoryParameter() 2019-04-09 16:25:25 +02:00
Alejandra Ferreiro Vidal
ea71736939 testsPublishResults: generate docu 2019-04-09 15:19:33 +02:00
Alejandra Ferreiro Vidal
2af1b7c365 setupCommonPipelineEnvironment: generate docu 2019-04-09 13:58:35 +02:00
Alejandra Ferreiro Vidal
938d251a58 pipelineRestartSteps: generate docu 2019-04-09 13:18:51 +02:00
Alejandra Ferreiro Vidal
7a54118b2a gaugeExecuteTests: generate docu 2019-04-09 11:59:08 +02:00
Alejandra Ferreiro Vidal
bde8f388be containerExecuteStructureTests: generate docu 2019-04-09 11:12:38 +02:00
Alejandra Ferreiro Vidal
fa05b0bcb6 prepareDefaultValues: generate docu (#634) 2019-04-09 09:52:45 +02:00
Alejandra Ferreiro Vidal
998dd99cf5 batsExecuteTests: generate docu (#605) 2019-04-09 08:39:20 +02:00
Oliver Nocon
35ced01ffa
Avoid unwanted behavior when using resilience options (#650)
Certain steps should always fail, even though resilience option `failOnError=false` is used.

* Docker execution typically happens in another step. We should not hide errors here but rather handle their resilience in the step which uses `dockerExecute` and `dockerExecuteOnKubernetes`.
* Wrapper steps like `pipelineExecute`, `pipelineRestartSteps` should not hide errors. If an error occured this has to be considered as **intentional** and not hidden accidentially in case resilience option is switched on.
2019-04-08 20:10:54 +02:00
Marcus Holl
a92c01b640 Merge remote-tracking branch 'github/master' into HEAD 2019-04-05 11:19:24 +02:00
Oliver Nocon
4d945c8557
handlePipelineStepErrors - allow step timeouts (#644)
* handlePipelineStepErrors - allow step timeouts

This adds another resilience option:
A timeout can be configured for steps in order to stop step execution, continue with the pipeline while setting build status to "UNSTABLE"
2019-04-05 11:16:34 +02:00
Marcus Holl
4a756e1f4b Merge remote-tracking branch 'github/master' into HEAD 2019-04-05 10:08:49 +02:00
Sven Merk
2ad3483233
Merge branch 'master' into whitesource-step 2019-04-04 22:19:16 +02:00
Alejandra Ferreiro Vidal
1e36df6a9c fix docs generation (#640) 2019-04-04 17:01:30 +02:00
Sven Merk
259619f00f
Merge branch 'master' into whitesource-step 2019-04-04 16:06:51 +02:00
Sven Merk
097ee4179b Chris' final comments + Scala config 2019-04-04 16:05:26 +02:00
Marcus Holl
bc253d0036 Merge remote-tracking branch 'github/master' into HEAD 2019-04-04 15:54:52 +02:00
Oliver Nocon
138656b49b
Allow resilient error handling in pipelines (#583)
* add resilience to error handling
* adapt documentation
* make ConfigLoader more resilient
2019-04-04 08:38:54 +02:00
Sven Merk
dfa47ac4c7
Merge branch 'master' into whitesource-step 2019-04-03 22:18:39 +02:00
Alejandra Ferreiro Vidal
316ea83423 fix doc build error 2019-04-03 15:44:59 +02:00
Marcus Holl
a011c67d09 No update to the stash content list from dockerExecuteOnK8S
When dealing with stashes in dockerExecuteOnKubernetes the global
stash list was updated from the step. This resulted in stashes
transported between the steps, which in turn resulted in having
old stashes unstashed in a pod later down the build. E.g.: mtaBuild
followed by neoDeploy: mtaBuild created a stash, the stash was
rememebered in the default stash list and re-used later on by
neoDeploy. Since the stash was created before the mtaBuild the
deployable was missing in the step.
2019-04-03 13:38:43 +02:00
Sven Merk
8fc6eb5219 Fix time displayed in report 2019-04-03 12:31:40 +02:00
Sven Merk
1fe05b8a56
Merge branch 'master' into whitesource-step 2019-04-03 12:19:34 +02:00
Alejandra Ferreiro Vidal
83ee7d0b28 mtaBuild: generate docu 2019-04-03 10:36:56 +02:00
Alejandra Ferreiro Vidal
92e895d34e pipelineExecute: generate docu 2019-04-03 09:41:27 +02:00
Alejandra Ferreiro Vidal
d863bb3209 durationMeasure: generate config 2019-04-03 08:16:33 +02:00
Alejandra Ferreiro Vidal
3d0aa51380 mavenExecute: generate docu 2019-04-02 22:03:23 +02:00
Alejandra Ferreiro Vidal
0397f152dc
Merge branch 'master' into healthExecuteCheck 2019-04-02 21:01:29 +02:00
Christopher Fenner
d2a615fbc3
Update vars/healthExecuteCheck.groovy
Co-Authored-By: alejandraferreirovidal <alejandra.ferreiro.vidal@sap.com>
2019-04-02 21:01:09 +02:00
Alejandra Ferreiro Vidal
f77d9957a5 handlePipelineStepErrors: generate docu 2019-04-02 20:06:47 +02:00
Holger Partsch
b1d8032ee2 alpine does not support date option --universal (#578)
* alpine does not support date option --universal

Replaced by --utc as this seems to be more universal than --universal

* Fix unit tests after date parameter change
2019-04-02 15:59:33 +02:00
Holger Partsch
025ce5a88e Don't use host port (#579)
* Stop using host ports

* Sort parameters alphabetically

* Fix warning format
2019-04-02 14:23:19 +02:00
Marcus Holl
dea2dbcbaa neoDeploy: assert deployable exists before starting deployment.
Up to now the presence of the deployable (source) was checked late
by the NeoCommandLineHelper. The code doing this is surrounded by
the try/catch which finally also puts the log written by the neo
toolset into the job log in case an exception occured.

The check for the deployable returns with the same type of
exception like a failed neo command. Hence we cannot distiguish (ok,
would be possible to parse the exception message, but that is ugly).
When the exception is triggered by the missing deployable we try to
cat the neo log into the job log. But at this point the neo log has
not been provided - neo has not been called at all in this case.
Hence `cat logs/neo/*` in turn fails.

In order to avoid such a failure we check now for the presence of the
deployable earlier before launching the neo toolset.

Since the deployable is used in any deploy mode case no further check
for the deploy mode is required prior to the check for the deployable.
2019-04-02 13:53:31 +02:00
Oliver Nocon
24563db155
update stashing behavior (#628)
* update stashing behavior

close #619

* add test
2019-04-02 13:13:25 +02:00
Alejandra Ferreiro Vidal
4f93f1f07a healthExecuteCheck: generate docu 2019-04-01 11:14:38 +02:00
Marcus Holl
2b1b743082 provide the log in case of a failure always, not only in docker context
from property dockerImage we cannot conclude that we are in fact running inside a docker environment.
Step dockerExecute has some checks if we are in a docker context. If not there is a fallback to the
local environment.

The docker image property is provided from resources/default_pipeline_environment (value: 's4sdk/docker-neo-cli').
Hence a value will be present all the time (exception: someone configured null/ empty string explicitly). So we
will enter the corresponding code block anyway.

It is IMO also desirable to have the neo log in the job log when running inside a non-docker setup since this
simplifies troubleshooting anyway.
2019-03-29 16:31:09 +01:00
Sven Merk
aaf969e0cf
Merge branch 'master' into whitesource-step 2019-03-29 11:01:15 +01:00
Alejandra Ferreiro Vidal
6b98d642da removes toolValidate 2019-03-29 08:44:36 +01:00
Sven Merk
4ed0f8df36 Trigger build 2019-03-27 23:46:43 +01:00
Sven Merk
b9596aa84f Add deletion of downloaded JVM archive 2019-03-27 14:11:54 +01:00
Sven Merk
6b1caf5a3c Add deletion of downloaded JVM archive 2019-03-27 14:10:29 +01:00
Sven Merk
ea211f5987 Add archiving of debug output to new step 2019-03-27 14:03:11 +01:00
Sven Merk
ae083f5aa7
Merge branch 'master' into whitesource-step 2019-03-27 09:32:05 +01:00
Sven Merk
e5420b1e8a Add parameter 2019-03-26 17:07:15 +01:00
weloli
519a5d6384 web analytics: add reporting for dockerExecute and dockerExecuteOnKubernetes (#516)
web analytics: add reporting for dockerExecute and dockerExecuteOnKubernetes
2019-03-26 17:06:34 +01:00
Sven Merk
8725f28ed6 Switch image, dep on the fly 2019-03-26 17:00:13 +01:00