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

1101 Commits

Author SHA1 Message Date
Oliver Nocon
0c3e5f1ea9
use new unstable step to better visualize pipeline errors (#804)
With https://jenkins.io/blog/2019/07/05/jenkins-pipeline-stage-result-visualization-improvements/ it has been made possible to allow for a better visualization in case certain pipeline stages are 'UNSTABLE'

This is about using the new feature if available with a fall-back to old behavior.
2019-07-26 17:40:22 +02:00
Oliver Nocon
153dbf2a7f
githubPublishRelease - ensure proper JSON encoding (#807)
So far some special characters have not been properly encoded when creating a release.
This is addressed by using a new JsonUtils method now.
2019-07-26 14:03:20 +02:00
Roland Stengel
db8f9d0f07 harmonize docker configuration properties
fixes
2019-07-25 12:12:34 +02:00
Roland Stengel
01ce797245 harmonize docker configuration properties
support the configuration of the docker arguments

  dockerEnvVars
  dockerOptions
  dockerWorkspace

for all steps.
2019-07-25 11:57:21 +02:00
Sven Merk
b1b480a7e1
Merge branch 'master' into whitesourceExecuteScan 2019-07-19 14:28:26 +02:00
tobiaslendle
cb245b1ce2 TMS integration (#782) 2019-07-18 15:06:11 +02:00
Christopher Fenner
5bf7cda940
add new step piperPublishNotifications (#652)
* add new step for notification publication

* add test cases

* add helper method

* correct import

* Update pom.xml

* add step to post section

* add step piperPublishNotifications

* move step to end of pipeline to gather all findings

* use handlePipelineStepErrors step

* use commonPipelineEnvironment

* correct reporting

* add configuration

* fix typos

* fix rule setup

* remove test scope

* add method to fetch full build log

* add methods for warnings-ng parser creation

* remove warnings plugin coding

* add default parser settings

* change parameter handling for parser creation

* adapt step

* fix parser creation

* use ParserConfig.contains

* use correct parameter name

* correct parser regex

* change issue creation

* use classloader

* fix typo

* Revert "fix typo"

This reverts commit 446a201ae4.

* Revert "use classloader"

This reverts commit a896487032.

* rename step to piperPublishWarnings

* extract recordIssuesSettings to defaults

* make addWarningsNGParser non-static

* remove node

* adjust test case

* add docs

* rename log file

* fix tests

* fix typos

* rename parameter

* add import for IOUtils

* check plugin activation

* add comment for class loader usage
2019-07-18 12:09:54 +02:00
Sven Merk
a5170bb878
Merge branch 'master' into whitesourceExecuteScan 2019-07-18 09:50:38 +02:00
Oliver Nocon
be33eccbec
Take proper jnlp image as default for Kubernetes execution (#759)
* Take proper jnlp image as default for Kubernetes execution

Following changes are contained:

* removal of custom jnlp image as default
* allow customization of jnlp image via system environment

fixes #757

* add documentation
2019-07-17 12:01:24 +02:00
Sven Merk
7fbf7ffdf1
Merge branch 'master' into whitesourceExecuteScan 2019-07-17 10:56:47 +02:00
Oliver Nocon
31b9874eff
githubPublishRelease - properly handle situation where no release exists yet (#792)
correct error handling to properly take care of non-existing initial release.
2019-07-16 20:31:46 +02:00
Marcus Holl
7b987ea2a2 Fix missing closing bracket in comment 2019-07-16 16:46:04 +02:00
Marcus Holl
68a4c550af typo, whitespace fix 2019-07-16 16:41:21 +02:00
Marcus Holl
6d3c6aab32 gitSshUrl only mandatory for git push mode SSH 2019-07-16 16:30:47 +02:00
Marcus Holl
1861babdd1 docu: gitHttpsUrl mandatory only for gitPushMode https 2019-07-16 16:25:18 +02:00
Marcus Holl
30c632f29a rename debug to verbose et al. 2019-07-16 16:01:43 +02:00
Marcus Holl
2f7fa6e4a4 Provide defaults 2019-07-16 15:45:08 +02:00
Marcus Holl
96758a8c75 Fix code climate issues 2019-07-16 15:36:52 +02:00
Marcus Holl
7084134bfc cleanup 2019-07-16 15:20:27 +02:00
Marcus Holl
ae34803025 Ensure passwords are not leaked directly in debug mode when url encoding alters password 2019-07-16 14:08:39 +02:00
Marcus Holl
fa188c06b3 remove unset proxies 2019-07-16 11:43:24 +02:00
Marcus Holl
c24aab5640 more git debug output 2019-07-16 11:41:34 +02:00
Marcus Holl
bbaf8949df fix disabling ssl verifiction check again 2019-07-16 11:35:10 +02:00
Marcus Holl
5e24102130 fix disabling ssl verifiction check 2019-07-16 11:34:01 +02:00
Marcus Holl
39129aeecb troubleshoot proxy 2019-07-16 11:30:39 +02:00
Marcus Holl
7396b2f6ce Fix typo 2019-07-16 11:28:02 +02:00
Marcus Holl
445e28a58b Print proxy related environment variables 2019-07-16 11:26:49 +02:00
Marcus Holl
96af04a8ca fix invalid quotation 2019-07-16 11:19:03 +02:00
Marcus Holl
2c9a3c2924 fix invalid comma 2019-07-16 11:18:08 +02:00
Marcus Holl
14a355def5 Make git more verbose in debug mode. 2019-07-16 11:11:59 +02:00
Marcus Holl
daf5d3340e more tests 2019-07-12 17:01:33 +02:00
Marcus Holl
3f48243632 fix typo 2019-07-12 13:42:16 +02:00
Marcus Holl
8090219931 fix type 2019-07-12 13:42:16 +02:00
Marcus Holl
be929e6c10 Enable git push via https for artifactSetVersion 2019-07-12 13:42:16 +02:00
Marcus Holl
d2c3248428 Enable http(s) push for artifactSetVersion 2019-07-12 13:42:16 +02:00
Andre Pany
0e990446fc whitesourceExecuteScan: Add scanType dub 2019-07-11 06:17:30 +02:00
Oliver Nocon
225cf2485b
Docker Pipeline - fixes and small adoptions (#779)
* buildExecute: Docker case - minor fixes
* properly care for empty `containerBuildOptions`
* verbose output wrt stashing
* add stage ordinals
* fix wrong script reference
* fix null reference
* adapt stage defaults and allow bats tests
* propagate github org and repo
* add test for bats
2019-07-05 16:32:24 +02:00
Sven Merk
3fa3b39ab6 Use GStringTemplateEngine instead of SimpleTemplateEngine
* avoid the use of SimpleTemplateEngine in areas that underly CPS transformation since it uses a non serializable java.io.StringWriter
2019-07-03 14:24:28 +02:00
andre2007
44f745d327 Rename dlang to dub (#762) 2019-07-03 11:27:07 +02:00
Oliver Nocon
9e539e68ee
Piper pipeline - enhance stages (#755)
* fill PRVoting stage with content
* add prVoting stage incl. tests
* add Build stage incl. Tests
* add docs pages
* add additional unit test stage
* add acceptance stage and additional documentation ...
* add release stage content
* add promote stage
* add Security stage, fix defaults for Promote stage
* fix issue in doc generation
2019-07-03 10:13:26 +02:00
Oliver Nocon
5bb6d59753
Add step buildExecute (#527)
This step should serve as generic entry point in pipelines for building artifacts.

Build principle: build once.

Purpose of the step:
- build using a defined build technology
- store build result for future use in testing etc.
2019-07-02 13:00:36 +02:00
Christopher Fenner
52ad001917 Update piperStageWrapper.groovy (#767) 2019-06-27 10:53:46 +02:00
Oliver Nocon
3e46254701
dockerExecuteOnKubernetes - hide sensitive information (#733)
* dockerExecuteOnKubernetes - hide yaml by default
* hide step parameters to not leak sensitive parameter values into the log
* add more details to log output
2019-06-26 08:38:47 +02:00
Marcus Holl
ea5a3ed5ce Merge remote-tracking branch 'github/master' into HEAD 2019-06-25 08:49:30 +02:00
Christopher Fenner
93e1796455
karmaExecuteTests: fix multi module execution (#765)
* add test case for multi module execution

* fix multi module issue
2019-06-24 15:29:32 +02:00
andre2007
36c029b344 Add dubExecute step (#754)
* Add dubExecute step
* Fix test
2019-06-19 16:52:18 +02:00
Oliver Nocon
d66607c31a
dockerExecuteOnKubernetes - support nodeSelector (#747)
support nodeSelector to run on dedicated nodes inside the Kubernetes cluster if required.
2019-06-19 12:26:16 +02:00
Christopher Fenner
68c657b2c1
Update handlePipelineStepErrors.groovy (#743) 2019-06-17 12:23:36 +02:00
Thorsten Duda
ff684ea692 added comment to explain escaped variable 2019-06-13 15:33:18 +02:00
Thorsten Duda
1c904b9f11 Fix PATH substitution 2019-06-13 13:33:03 +02:00
Oliver Nocon
e7cbf02b8e
dockerExecuteOnKubernetes - revert #739 (#745)
stashing .git directory had negative side-effects.
Solution would be to stash `.git` folder and unstash in `dockerExecuteOnKubernetes` only if required for a dedicated scenario.
2019-06-06 17:22:25 +02:00
Oliver Nocon
8455761fe9
Merge branch 'master' into nevskrem-patch-1 2019-06-05 11:25:03 +02:00
Oliver Nocon
121b23fdaa
dockerExecuteOnKubernetes - stash also .git folder (#739)
Make sure that complete workspace is available in Kubernetes Pod.
So far e.g. git repository information were missing.
2019-06-05 11:24:32 +02:00
Sven Merk
0f12bc8000
Add missing compatibility for productVersion 2019-06-04 12:00:22 +02:00
Sven Merk
111080cbfe Add new step for Dockerfile linting (#723)
* Add new step for Dockerfile linting

* Add documentation template file

* Remove newlines

* Remove internal URL

* Rephrase comment

* Ammend stash

* Fix test

* move dockerImage to general

* use explicit curl options

* small changes

* small changes

* skip GIT blame

* First comments

* Also add remark to URL parameter

* Second set of comments

* Fix return code handling

* Switch type to set

* Revert unrelated changes

* Avoid modification of config

* add quality gate defaults

* Update hadolintExecute.groovy

* fix code climate issue
2019-06-04 08:01:43 +02:00
Marcus Holl
45a2bfc4f7 shift coding for preparing defaultValueCache into that class
rather than having it in a pipeline step.

With that we avoid going back from a class in the src folder into
a pipeline step (vars).
2019-05-31 14:26:25 +02:00
Oliver Nocon
f171f88b13
whiteSourceExecuteScan - allow passing projects via cpe (#734) 2019-05-29 13:22:16 +02:00
Marcus Holl
6a551884e0 Merge remote-tracking branch 'github/master' into HEAD 2019-05-27 09:14:28 +02:00
Marcus Holl
56b651dbe9 Merge remote-tracking branch 'github/master' into HEAD 2019-05-24 14:26:07 +02:00
Marcus Holl
c053dbca17 Add test null provided via signatur for extensions (also inside collection) 2019-05-24 13:55:29 +02:00
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
Oliver Nocon
27c4db47e4
Merge branch 'master' into whitesource-step 2019-03-26 16:46:45 +01:00
Sven Merk
a5138ed341 Extended documentation 2019-03-26 14:22:02 +01:00
Alejandra Ferreiro Vidal
e282c07dd4 remove config.properties file 2019-03-26 14:13:03 +01:00
Christopher Fenner
0e7ef41fab
newmanExecute: generate documentation (#591)
* generate docs for newmanExecute step

* fix typo
2019-03-26 13:26:21 +01:00
Christopher Fenner
f8c8e81958
generate docs for slackSendNotification step (#592) 2019-03-26 12:14:29 +01:00
Christopher Fenner
f138ae1499
mailSendNotification: generate documentation (#584) 2019-03-25 14:34:48 +01:00
Sven Merk
82d70677fb Refactor to dep as dependency manager 2019-03-25 14:32:36 +01:00
Sven Merk
7de9718e13 Fix interpretation of descriptor 2019-03-25 12:50:00 +01:00
Sven Merk
f928878c5e Fix path handling 2019-03-25 10:38:00 +01:00
Sven Merk
c71f420995 Fix version handling 2019-03-25 09:42:25 +01:00
Sven Merk
db8c86e9de Fix project name determination 2019-03-25 08:51:23 +01:00
Sven Merk
50cc1cb32d Fix version determination 2 2019-03-25 08:41:30 +01:00
Sven Merk
c269746ed3 Fix version determination 2019-03-22 15:04:19 +01:00
Sven Merk
9322769d47 Improve reported version 2019-03-22 14:53:33 +01:00
Sven Merk
10c7485808 Fix project name determination for Go 2019-03-22 13:08:48 +01:00
Sven Merk
a7f257dfe3 Fix missing reference 2019-03-22 12:11:20 +01:00
Sven Merk
991dd5ec51
Merge branch 'master' into whitesource-step 2019-03-22 11:58:01 +01:00
Sven Merk
8da169d2a8 Enable golang 2019-03-22 11:55:50 +01:00
Christopher Fenner
208e1a4241
influx: report build link to measurements 'step_data' and 'pipeline_data' (#585) 2019-03-21 20:23:23 +01:00
Sven Merk
1870c6ab9c Modify defaults 2019-03-21 14:06:23 +01:00
Sven Merk
be814c62aa Included comments refactored docu generation 2019-03-21 13:25:22 +01:00
Irina Kirilova
020a5aaadd
Merge branch 'master' into master 2019-03-21 12:54:15 +01:00
Marcus Holl
3f8498e4dd Merge remote-tracking branch 'github/master' into HEAD 2019-03-21 10:43:27 +01:00
Irina Kirilova
3923d0b2e4 enhance prepare stage with cleanup and checkout 2019-03-21 10:37:02 +01:00
Marcus Holl
1a36a775f4 Fix sanity checks for warPropertiesFile deploy mode. (#574)
* Fix sanity checks for warPropertiesFile deploy mode.

* improve tests for the sanity checks

The sanity checks are performed per deploy mode.
All parameters are checked at once.

* Explict check for host, account not found by sanity checks for deploy mode war properties
2019-03-20 12:14:57 +01:00
Christopher Fenner
80d288ae57
handlePipelineStepError: use ConfigurationHelper (#556)
* use ConfigurationHelper in handlePipelineStepError

* externalise help url
2019-03-20 11:21:06 +01:00
Holger Partsch
94957e2b54 Make K8S integration more configurable (#552)
* Define pod using k8s yaml manifest

The Kubernetes plugin allows to define pods directly via the Kubernetes
API specification:
https://github.com/jenkinsci/kubernetes-plugin#using-yaml-to-define-pod-templates

This has the advantage of unlocking Kubernetes features which are not
exposed via the Kubernetes plugin, including all Kubernetes security
featues.

Using the Kubernetes API directly is also better from development
point of view because it is stable and better desgined then the API the
plugin offers.

* Make the Kubernetes ns configurable

If one Jenkins Master is used by multiple Teams, it is desirable to
schedule K8S workloads in seperatae workspaces.

* Add securityContext to define uid and fsGroup

In the context of the Jenkins k8s plugin it is uids and fsGroups play an
important role, because the containers share a common file system.

Therefore it is benefical to configure this data centraly.

* fix indention

* Undo format changes

* Extend and fix unit tests

* Fix port mapping

* Don't set uid globally

This does not work with jaas due to permissions problems.

* Fix sidecar test

* Make security context configurable at stage level

* Extract json serialization

* Cleanup unit tests
2019-03-20 10:07:37 +01:00
Marcus Holl
ad41c27458 Merge remote-tracking branch 'github/master' into HEAD 2019-03-19 16:05:58 +01:00
Christopher Fenner
7177954e80
seleniumExecuteTests & uiVeri5ExecuteTests: improve documentation (#568)
* generate docs for seleniumExecuteTests

* inherit docs for uiVeri5ExecuteTests

* add description for failOnError
2019-03-19 15:38:52 +01:00
Christopher Fenner
60cbd2cd57
seleniumExecuteTests: fix type (#569) 2019-03-19 12:07:05 +01:00
Marcus Holl
728464ae54 checkChangeInDevelopment with docker 2019-03-19 10:07:18 +01:00
Marcus Holl
bdc0e487d6 release transport request for cts 2019-03-19 10:07:18 +01:00
Marcus Holl
3e8d4fc576 Release transport SOLMAN with docker 2019-03-19 10:07:18 +01:00
Marcus Holl
71fdcc3e53 docker for upload file SOLMAN 2019-03-19 10:07:18 +01:00
Marcus Holl
24cd9400d7 create transport request SOLMAN with docker 2019-03-19 10:07:18 +01:00
Marcus Holl
620e0c7d4a docker for transportRequestCreate CTS 2019-03-19 10:07:18 +01:00
Marcus Holl
94315bf006 use docker image for cts upload file 2019-03-19 10:07:18 +01:00
Marcus Holl
0fb68187af [fix] wrong default type for docker config 2019-03-19 10:07:18 +01:00
Marcus Holl
4d4b9de660 Merge remote-tracking branch 'github/master' into HEAD 2019-03-19 09:06:15 +01:00
Daniel Kurzynski
af740e1092
Make source for neo deployments configurable in the config file (#564) 2019-03-18 14:55:51 +01:00
Daniel Kurzynski
9f4a597778
Wait for sidecar container to be ready (#567) 2019-03-18 14:05:42 +01:00
Christopher Fenner
7069f29ec5
snykExecute: add missing documentation (#570)
* add docs for snykExecute

* add link to new docs page
2019-03-18 11:08:41 +01:00
Sven Merk
43cb2c68cf Merge branch 'whitesource-step' of https://github.com/SAP/jenkins-library into whitesource-step 2019-03-15 13:22:05 +01:00
Sven Merk
1a04394a00 Ensure report severity limit is based on configuration 2019-03-15 13:21:56 +01:00
Sven Merk
bb31060dad
Merge branch 'master' into whitesource-step 2019-03-15 13:16:29 +01:00
Sven Merk
e37b714c99 Improve coverage 2019-03-15 13:11:34 +01:00
Sven Merk
c96f73866a Refactored to generally migrate config to deep structure 2019-03-14 15:18:01 +01:00
Marcus Holl
2b36909f38 Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:53:18 +01:00
Christopher Fenner
851e98aef8
handlePipelineStepErrors: add error data to influx measurement (#563) 2019-03-14 13:51:00 +01:00
Daniel Kurzynski
9055dd1ea0
Merge branch 'master' into pr/neoDeployParamChecksEarly 2019-03-14 12:52:55 +01:00
Christopher Fenner
4953a894c5
uiVeri5ExecuteTests: add testServerUrl (#543) 2019-03-13 17:45:41 +01:00
Marcus Holl
adafab91e2 Perform parameter validation early, do not truncate parameters
In case of a mis-configuration we get a hint like "host is missing".
Actually it should be "neo/host is missing" since the parameter "host" is nested inside "neo".

Having simply "host" confuses the person troubleshooting this issue.

With this change the input validation is performed right at the beginning of the step.
The NeoCommandLine helper does not check a second time now.
2019-03-13 15:44:57 +01:00
Marcus Holl
201b075cb5 Merge remote-tracking branch 'github/master' into HEAD 2019-03-13 14:36:34 +01:00
Alejandra Ferreiro Vidal
cf44e18c69 Remove outdated log message (#550) 2019-03-13 12:38:04 +01:00
Sven Merk
f2c7265986
Merge branch 'master' into whitesource-step 2019-03-13 12:13:16 +01:00
Sven Merk
06189d9ae0 Cleanup 2019-03-13 12:10:23 +01:00
Christopher Fenner
6d7205377c generate karma docs (#555) 2019-03-13 12:01:05 +01:00
Sven Merk
6764e75551
Merge branch 'master' into whitesource-step 2019-03-13 10:43:23 +01:00
Sven Merk
63861b0dce Add compatibility support for old values 2019-03-12 22:34:20 +01:00
Marcus Holl
5afaf9cb06 Merge remote-tracking branch 'github/master' into HEAD 2019-03-12 16:08:15 +01:00
Sven Merk
46ddaaf137 Add compatibility support for old values 2019-03-12 12:29:30 +01:00
Sven Merk
c6909fa783 Improve info message 2019-03-12 12:24:25 +01:00
Marcus Holl
a11a9e5fc2 Merge remote-tracking branch 'github/master' into HEAD 2019-03-12 09:52:36 +01:00
Sven Merk
28418eae7c Move creation of project before scan 2019-03-11 15:27:06 +01:00
Sven Merk
5555858aca Fix logic 2019-03-11 13:14:48 +01:00
Sven Merk
362bcb787f Cleanup 2019-03-11 11:44:39 +01:00
Sven Merk
61d6280c3a Moved admin auth handling into script 2019-03-11 10:46:22 +01:00
Sven Merk
4ae6675824 Revise docs 2019-03-08 13:56:07 +01:00
Sven Merk
6b61bc1b98 Updated documentation 2019-03-08 12:33:31 +01:00
Sven Merk
78b41ce7d8 Fix documentation link 2019-03-07 13:16:03 +01:00
Daniel Kurzynski
1bd1b01a7a
Merge branch 'master' into remove-compatability 2019-03-07 12:54:04 +01:00
Marcus Holl
a7bc198342 neo toolset not configurable (#484) 2019-03-07 12:53:25 +01:00
Sven Merk
3e8df1fb68 Formatting 2019-03-07 12:21:35 +01:00
Sven Merk
1f5f812a1a Fix compatibility for defaults 2019-03-07 12:14:25 +01:00
Sven Merk
6fd4436494 Fix flattening config compatibility feature 2019-03-07 11:43:08 +01:00
Sven Merk
e6c3d6e4ba Enhance config compatibility feature 2019-03-07 11:13:24 +01:00
Sven Merk
28b370371f Fix compatibility 2019-03-06 15:46:04 +01:00
Sven Merk
4344f279fa Fix compatibility feature 2019-03-06 15:33:19 +01:00
Sven Merk
fa33f1925c Fix compatibility mapping 2019-03-06 15:12:21 +01:00
Sven Merk
bfbee88620 Added documentation of parameters and step 2019-03-06 15:08:42 +01:00
Sven Merk
cfc3a1528a Implement comments 2019-03-06 14:03:00 +01:00
Sven Merk
f94e23a392 Merge remote-tracking branch 'origin/whitesource-step' into whitesource-step 2019-03-06 13:12:36 +01:00
Sven Merk
6a907cff23 Add creation capabilities for whitesource products 2019-03-06 13:12:23 +01:00
Christopher Fenner
d000c25add
Update vars/whitesourceExecuteScan.groovy
Co-Authored-By: nevskrem <33895725+nevskrem@users.noreply.github.com>
2019-03-06 13:11:05 +01:00
Christopher Fenner
ebbc373d56
Update vars/whitesourceExecuteScan.groovy
Co-Authored-By: nevskrem <33895725+nevskrem@users.noreply.github.com>
2019-03-06 13:10:49 +01:00
Christopher Fenner
39ef78c219
Update vars/whitesourceExecuteScan.groovy
Co-Authored-By: nevskrem <33895725+nevskrem@users.noreply.github.com>
2019-03-06 13:10:31 +01:00
Christopher Fenner
4a05b317b3
Update vars/whitesourceExecuteScan.groovy
Co-Authored-By: nevskrem <33895725+nevskrem@users.noreply.github.com>
2019-03-06 13:07:55 +01:00
Sven Merk
f7f33f38ac Address comments 2019-03-06 11:04:49 +01:00
Sven Merk
84ae883264 Enforce orgToken, sanitize limit 2019-03-05 14:40:36 +01:00
Sven Merk
a0e241b7e4 Add deletion of agent file downloaded 2019-03-05 14:34:57 +01:00
Sven Merk
53491ce956 Cleanup and alignment with internal step 2019-03-05 13:59:40 +01:00
Marcus Holl
42d57479d9 Verbose flag for transport request release 2019-03-05 12:35:28 +01:00
Marcus Holl
ad3e0f86d1 Verbose flag for transportRequestCreate 2019-03-05 10:29:23 +01:00
Sven Merk
3bf3afd7ac Added debug output 2019-03-04 23:09:40 +01:00
Sven Merk
32b9c95cdb Added tests 2019-03-04 22:55:43 +01:00
Sven Merk
3eedbbb17c Fix serialization 2019-03-04 16:49:54 +01:00
Sven Merk
c0df1077c1 Verbose 2019-03-04 16:23:03 +01:00
Sven Merk
bffb57137a Adapt test 2019-03-04 15:49:55 +01:00
Sven Merk
6066585072 Improve report pulling method 2019-03-04 15:45:30 +01:00
Sven Merk
03d3e2b241 Fix missing descriptor support 2019-03-04 15:02:01 +01:00
Sven Merk
05fe2fb758 Cleanup 2019-03-04 14:40:17 +01:00
Sven Merk
fc9adfd536 Added stylesheet for report rendering 2019-03-04 11:52:57 +01:00
Sven Merk
14700ba210 Initial checkin of new whitesource step 2019-02-28 13:01:30 +01:00
Christopher Fenner
9ebce31fe6
influxWriteData: use org/repo as default prefix (#534) 2019-02-28 08:45:44 +01:00
Christopher Fenner
2817efa2ed
prepareDefaultValues: streamline logs 2019-02-28 07:06:46 +01:00
Marcus Holl
baad41167a Merge remote-tracking branch 'github/master' into HEAD 2019-02-27 16:02:45 +01:00
yemengsap
38c5a0d779 Add npmExecute step (#491) 2019-02-21 19:14:48 +01:00
Florian Wilhelm
ada3ed909d
Don't print messages in all uppercase letters (#531) 2019-02-21 15:46:17 +01:00
Marcus Holl
827d8aa32d imagePull --> pullImage 2019-02-19 11:35:03 +01:00
Marcus Holl
05438943ba Allow fileUrl, applicationUrl in project config. 2019-02-19 11:22:33 +01:00
Marcus Holl
5c6f57f3cb Check for credentials id as part of input validation 2019-02-15 14:15:58 +01:00
Marcus Holl
546db7f3f3 Provide verbose flag. 2019-02-15 13:58:11 +01:00
Marcus Holl
a375cc75a5 Provide flag failUploadOnWarning
in order to be able to survive uploads which are basically successful, but
with warning(s).
2019-02-15 13:58:11 +01:00
Marcus Holl
0ea6bdc05c Accept unix style line endings. 2019-02-14 13:52:06 +01:00
Marcus Holl
02e832b008 Test for RFC transportRequestCreate 2019-02-14 12:01:28 +01:00
Marcus Holl
80bd4cf11c Support code page parameter 2019-02-14 09:36:51 +01:00
weloli
523fc067f1
fix general config for param changeManagement (#513) 2019-02-14 08:45:20 +01:00
Oliver Nocon
793df723cf add step slackSendNotification (#338)
* add step slackSendNotification

This step allows to send Slack notifications in case of pipeline failures.

* add SWA reporting

* remove allowBuildFailure

* add GENERAL_CONFIG_KEYS

* update STEP_NAME

* add missing import

* fix MD findings

* adjust rule name to be aligned with #455
2019-02-13 16:45:35 +01:00
Marcus Holl
af5d67aaf7 docker params as map when releasing tr via rfc 2019-02-13 14:58:46 +01:00
Marcus Holl
11812f5c09 Merge remote-tracking branch 'github/master' into HEAD 2019-02-13 09:15:32 +01:00
Marcus Holl
0ae673c021 docker params as map when creating tr via rfc 2019-02-12 15:35:27 +01:00
Marcus Holl
dc1dfd622c docker params as map for fileUpload 2019-02-12 15:22:22 +01:00
Marcus Holl
2aa9f5215a fix code climate issues 2019-02-11 11:53:01 +01:00
Marcus Holl
9305a52d0f Merge remote-tracking branch 'github/master' into HEAD 2019-02-08 12:38:59 +01:00
Christopher Fenner
d657f0dc28
testsPublishResults: add option to fail the build on test errors (#472)
* add option to fail the build on test errors

* fix typo

* add test cases

* adjust docs

* set build result

* add hasTestFailure utils method

* use utils method

* use dedicated type

* adapt tests

* handle missing test actions

* Update testsPublishResults.md

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* remove comments

* adapt test case

* Update TestsPublishResultsTest.groovy
2019-02-08 12:30:59 +01:00
Christopher Fenner
3f12015364
dockerExecuteOnKubernetes: generate documentation (#487)
* fix whitespace

* correct key order

* add docs annotation

* add key documentation

* remove generated documentation

* fix code climate finding
2019-02-08 12:20:45 +01:00
Marcus Holl
91785a3c74 Fix log message when an upload has been performed 2019-02-08 12:19:20 +01:00
Marcus Holl
8d1786fa8d DevelopmentInstance for upload file rfc 2019-02-07 11:46:45 +01:00
Marcus Holl
3a982a8f04 provide developent instance for transportRequest release RFC 2019-02-07 11:24:39 +01:00
Marcus Holl
54018be2f0 Provide developmentInstance for transportRequestCreate RFC 2019-02-07 11:18:32 +01:00
Marcus Holl
d8d2d8b1fd abap development client always under changeManagement.rfc 2019-02-07 10:11:22 +01:00
Marcus Holl
fb9ec4992f development client not via flat parameter 2019-02-07 09:44:17 +01:00
weloli
826e216cd5
Lookup mtar in the whole workspace (#492)
* allow mtar lookup in the whole workspace

* minor fixes
2019-02-07 08:58:00 +01:00
Marcus Holl
fd5a07d403 applicationId -> applicationName for RFC file upload 2019-02-07 08:29:53 +01:00
Marcus Holl
1b202f879a Provide flag for skipping docker image pulls (#407)
* Provide flag for skipping docker image pulls

Usefull for testing while developing images. Without pulling images it is possible to
use images available in the local registry only.
2019-02-06 08:48:33 +01:00
Oliver Nocon
74366631b5
Project "Piper" Template: framework and structure (#476)
* Project "Piper" Template: framework and structure

This is the first in a series of Pull-Requests to provide a fully functional Pipeline template into the library.

This PR contains:
* general Pipeline structure incl. tests
* Pipeline initialization incl. tests
* Hollow pipeline stages incl. tests
* first set of default values
* add gitUrls to commonPipelineEnvironment
* set correct git information on commonPipelineEnvironment
2019-02-05 15:37:59 +01:00
Thorsten Duda
d36c98ec30
Merge branch 'master' into remove-validation-from-mtabuild 2019-02-05 14:19:36 +01:00
Marcus Holl
534cb1471d Merge remote-tracking branch 'github/master' into HEAD 2019-02-05 09:25:50 +01:00
Oliver Nocon
dde4e0abef
Fix regression introduced with #474 (#483)
Fix stashing behavior to include all files in workspace.
This was for example an issue for PR-voting in Docker pipeline since `Dockerfile` has been excluded from stashing
2019-02-05 09:07:47 +01:00
Christoph Szymanski
baea1db813
Merge branch 'master' into remove-validation-from-mtabuild 2019-02-04 17:12:05 +01:00
Christopher Fenner
bd32367c31
dockerExecute: generate docs (#480)
* correct key order

* add docs annotation and description

* describe parameters

* remove generated content from doc

* fix indent

* add further decumentations
2019-02-04 14:35:44 +01:00
Marcus Holl
b7deda1964 dockerExecute: make javadoc comment to 'normal' comment (#481)
since it is not intendend to expose the method docu as api doc.
2019-02-04 10:53:20 +01:00
Christopher Fenner
ba2e83c76a
dockerExecuteOnKubernetes: correct parameter keys (#475)
* Update dockerExecuteOnKubernetes.groovy

* Update dockerExecute.groovy

* Update dockerExecuteOnKubernetes.groovy
2019-02-04 09:03:58 +01:00
Christoph Szymanski
70ac75c8b8 Remove validation in mtaBuild
Removing validation calls for Java and MTA.
2019-02-01 16:13:18 +01:00
Marcus Holl
59bff987d7 Test for releaseTransportRequest RFC sanity checks 2019-02-01 13:23:08 +01:00
Marcus Holl
cb61d80e12 development client for RFC release transport not hard coded anymore 2019-02-01 13:08:25 +01:00
Marcus Holl
c785e53317 split releaseTransportRequest method into three methods
one for each BackendType.
2019-02-01 13:08:24 +01:00
Marcus Holl
7a4ca50399 Fix log message. Was invalid for backendType RFC. 2019-01-31 17:08:05 +01:00
Marcus Holl
5302d1d7b1 Merge remote-tracking branch 'github/master' into work 2019-01-31 09:55:21 +01:00
Oliver Nocon
3b2e42c74f
Add step containerExecuteStructureTest (#441)
* add step containerExecuteStructureTest
* include PR-review feedback
* documentation
2019-01-31 09:39:13 +01:00
Christopher Fenner
bca5b8ccf1
Add step uiVeri5ExecuteTests (#469)
* add defaults for uiVeri5 step

* add step and tests

* correct parameter names

* add empty docs

* add docs annotations

* remove not needed parameter

* add docs annotations
2019-01-31 09:16:34 +01:00
Christopher Fenner
fbb9cbeb3c
Update dockerExecuteOnKubernetes.groovy (#474) 2019-01-31 08:49:31 +01:00
Marcus Holl
a70fc10ae0 Parameter applicationURL instead of file path 2019-01-30 16:02:48 +01:00
Marcus Holl
661745fd81 Merge remote-tracking branch 'github/master' into HEAD 2019-01-30 15:01:09 +01: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
1c9eed993b
Merge branch 'master' into pr/removeNeoCredentialsCheck 2019-01-30 10:46:06 +01:00
Florian Geckeler
a72e33f488
Stop old instance only if it exists in CloudFoundry
If there was no instance deployed in CF and blue-green deployment was activated stopping the old instance caused a failure of the pipeline, even if the application was deployed successfully. 
With that change the failure of the pipeline will be avoided in case of no old application is available.
2019-01-30 10:07:00 +01:00
Marcus Holl
262f39dfdd Removing check for neo deploy credentials id
since there is a default defined in default_pipeline_environment.

I believe there is a misunderstanding. The check checks if there is a valid defined for the
credentials id key. Since there is one definded in the default config this check will always
succeed.
This check does not check if there is a credential defined with this id via the Jenkins
Credentials Plugin. Maybe when this check was provided this was the intention. There is a
speaking error message provided by the credentials plugin in case the credentials lookup
fails.
2019-01-29 09:48:52 +01:00
Daniel Kurzynski
09a2e3f090 Remove compatibility for neoDeploy 2019-01-28 12:35:35 +01:00
Daniel Kurzynski
6e26d78047
Improve neo deploy (#440)
The following features were added:
Lock resources for deployment
New parameters: environment, vmArguments
Assert password does not start with @
Link to cloud cockpit
Only execute rolling update if app is running
Show logs if deployment failed
Restart app after normal deployment
Use neo namespace for parameters
Align parameter names with neo sdk: size, application, source
Remove vmSize check as done by the tool itself
2019-01-28 11:32:24 +01:00
Marcus Holl
b21541c9f6 transportRequestCreate for RFC communication 2019-01-25 15:14:08 +01:00
Marcus Holl
9bf38f9a76 Merge remote-tracking branch 'github/master' into HEAD 2019-01-23 14:26:30 +01:00
Oliver Nocon
05e0d958da
dockerExecute - fix issue when image does not contain which (#458)
command `which` requires a dedicated OS package to be installed.
In case a Jenkins Master or Jenkins Slave Image does not contain `which`, although `docker` command is available the step took a wrong turn.

This removes the check using `which` since checking `docker ps` is sufficient.
2019-01-23 14:19:36 +01:00
Marcus Holl
2330bfdcf4 Merge remote-tracking branch 'github/master' into HEAD 2019-01-23 12:34:25 +01:00
Oliver Nocon
27c3891685
deployToCloudFoundry - patch mta blue-green deployment (#457)
mta deploy plugin has flag:
` --no-confirm` which is described as _"Do not require confirmation for deleting the previously deployed MTA apps"_

This flag is essentials for performing fully automated blue-green deployments.
2019-01-22 16:13:59 +01:00
Christopher Fenner
6224d2aece
influxWriteData: catch NPE (#434)
* Update influxWriteData.groovy

* Update influxWriteData.groovy

* Update influxWriteData.groovy
2019-01-21 14:12:05 +01:00
Christopher Fenner
10267ce7d1
Analytics: add step parameter keys (#442)
* add stepParamKey values

* camelCase
2019-01-21 08:47:34 +01:00
Marcus Holl
c8c96f11e3 Escape blanks when contained in env values for docker 2019-01-18 15:48:58 +01:00
Marcus Holl
dd8e09c527 Streamline flow control
in order to avoid to have to escape at two locations in the code.
2019-01-18 15:48:58 +01:00
sbmaier
423c9f52ba cloudFoundryDeploy: fix naming of Influx step (#450)
* fix naming Influx

* fix test for influx name change
2019-01-18 15:33:36 +01:00
Christopher Fenner
f6647d9ce5
newmanExecuteTests: use user-specific .npm-global directory (#447)
* use user-specific .npm-global directory

* Update newmanExecute.groovy

* fix typo

* Update NewmanExecuteTest.groovy

* Update NewmanExecuteTest.groovy
2019-01-18 13:14:39 +01:00
Marcus Holl
0914f6920a no docker pull 2019-01-18 10:26:27 +01:00
Marcus Holl
cca46d509b Upload binaries to transport requests via RFC 2019-01-18 10:26:03 +01:00
Marcus Holl
303122c899 Remove unneeded imports for ConfigurationMerger, ConfigurationLoader 2019-01-18 09:36:16 +01:00
Christopher Fenner
1baa1f14cb remove trailing line break 2019-01-18 08:57:54 +01:00
Marcus Holl
d681b42c00 Introduce @GenerateDocumentation annotation 2019-01-18 08:57:54 +01:00
Oliver Nocon
e11478ca00
cloudFoundryDeploy - add deployment reporting to Influx (#421)
Add reporting of operations-related data to Influx (if configured), like:
* Version of deployed artifact
* Deployment time
* Target infrastructure for deployment
2019-01-18 08:25:22 +01:00
Oliver Nocon
98139bb498
influxWriteData - support Influx tags (#420)
* influxWriteData - support Influx tags

In order to better query data in Influx, tags needs to be written.
This change allows filling tag data via the Influx plugin.
2019-01-17 15:42:03 +01:00
Marcus Holl
db5022a4ff New Scenario Step: SAP UI5 on SAP Cloud Platform (#388)
This scenario builds a UI5 app and deploys it to SAP Cloud Platform (neo).
2019-01-15 13:32:01 +01:00
Oliver Nocon
20a54cf094
dockerExecute - extend Kubernetes capabilities (#432)
allow `dockerExecute` to pass on to dockerExecuteOnKubernetes
* containerCommand
* containerShell
2019-01-14 14:43:07 +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
724a851bcd
executeDockerOnKubernetes - specify custom shell (#428)
Depending on the Docker image used the default shell will not work in certain cases.
This extends the executeDockerOnKubernetes step to be able to use a custom shell according to https://github.com/jenkinsci/kubernetes-plugin#specifying-a-different-shell-command-other-than-binsh
2019-01-08 19:44:28 +01:00
Florian Wilhelm
db9ba38ed1
Fail CF Deployment Shell Script Early (#426)
Resolves #425
2019-01-07 12:54:00 +01:00
Oliver Nocon
130e607446
influxWriteData - fix issue when running in POST (#413)
influxWriteData requires a node to be executed.
In a declarative pipeline the POST section by default does not provide a node/agent.

This adds a parameter to force creation of a node/agent.
2018-12-12 17:33:36 +01:00
Marcus Holl
0751eda1ee Merge remote-tracking branch 'github/master' into HEAD 2018-12-12 12:24:26 +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
Christopher Fenner
d303e49ebe
add newman doc (#399) 2018-12-10 11:53:48 +01:00
Marcus Holl
6491cccc2d Merge remote-tracking branch 'github/master' into HEAD 2018-12-07 12:32:00 +01:00
Marcus Holl
2ccb9df408 Merge remote-tracking branch 'github/master' into HEAD 2018-12-06 15:58:35 +01:00
thorstenwillenbacher
4d06cf151e
Merge branch 'master' into pr/moreLoggingAndFailfastInMtaBuild 2018-12-06 15:12:46 +01:00
Marcus Holl
b7468a7ae4 Step name is not a string literal anymore
Having the step name always the same like the file name, which is in turn the class name is
redundant.
2018-11-29 09:54:05 +01:00
Oliver Nocon
90765697aa
Docker execution - make sure that script is passed (#403) 2018-11-28 10:46:47 +01:00
Oliver Nocon
2881877322
newmanExecute - adapt to changes (#400)
* script now mandatory, thus passing it to dockerExecute
* html reporter needs to be installed separately
2018-11-28 09:25:34 +01:00
Oliver Nocon
6dc3ebe38c
cloudFoundryDeploy - fix stashing (#398) 2018-11-27 16:29:38 +01:00
Oliver Nocon
d1d07f241d
cloudFoundryDeploy - fix stashing behavior (#396)
This change fixes an error which only occurs in a Kubernetes landscape.
When initial stashes are filled, the deployment will fail since it misses the artifact to be deployed.

When providing an empty stash as default, Docker execution on Kubernetes will respect all content in the current workspace.
2018-11-27 16:02:06 +01:00
Florian Geckeler
32e20a7293
Provide option to Stop and not delete old instance on BlueGreenDeploy (#394)
* Provide option to Stop and not delete old instance on BlueGreenDeploy
* Default is still delete old instance 

Closes #323
2018-11-27 11:47:44 +01:00
Christopher Fenner
aadba46083
pipelineStashFiles: resolve STEP_NAME in log message (#391)
* resolve STEP_NAME in log message

* resolve STEP_NAME in log message
2018-11-20 16:03:07 +01:00
Oliver Nocon
8d141a7183
sendNotificationMail - add resilience (#392)
Do not create failure in case `gitSshKeyCredentialsId` is not configured.
Only provide warning message.
2018-11-20 15:56:00 +01:00
Oliver Nocon
db4e184967 cloudFoundryDeploy - adapt to changes in dockerExecute (#390)
pass script to call `dockerExecute`
2018-11-19 11:35:37 +01:00
Marcus Holl
a84d91f6bf More logging and be failfast around mtaYamlFile
- don't log a message and continue when it is clear that we cannot succeed
    together with error raised later during attempt not parse a non-existing
    file
  - More log output in order to clarify what happens with mta.yaml
2018-11-13 09:23:26 +01:00
Marcus Holl
69058d0f80 Streamline code: Inline variable in mtaBuild step 2018-11-13 08:44:53 +01:00
Marcus Holl
d1500dce00 Log mta call which get executed. 2018-11-13 08:40:45 +01:00
Marcus Holl
5c4007180c Merge remote-tracking branch 'github/master' into HEAD 2018-11-12 13:11:54 +01:00
Marcus Holl
06aacffb56 Merge remote-tracking branch 'github/master' into HEAD 2018-11-12 09:39:12 +01:00
Marcus Holl
0bbbb56002 Do not hand over reference to step itself
needs to be the reference as it is available by script
2018-11-09 15:45:23 +01:00
Christopher Fenner
3c86a3c54d
add missing script (#377)
fixes #376
2018-11-09 07:42:33 +01:00
Marcus Holl
f48c8a038e Merge remote-tracking branch 'github/master' into HEAD 2018-11-08 15:58:26 +01:00
Christopher Fenner
9acc28f10f
add missing script (#373) 2018-11-08 13:25:11 +01:00
Marcus Holl
1b8e9d0e30 Emit more explicit warning in case old config framework is is use 2018-11-08 13:10:43 +01:00
Marcus Holl
b3c5cba707 Notify about old config framework from neo deploy. 2018-11-08 12:18:49 +01:00
Christopher Fenner
9a1ab37c0b
add new step karmaExecuteTests (#351)
* add new step for karma execution

* add defaults

* Update karmaExecuteTests.groovy

* add key comments

* add test case

* docs

* add step docs

* add step docs

* Update karmaExecuteTests.md

* complete docs

* Update karmaExecuteTests.md

* init `script` the "new way"

* Update karmaExecuteTests.groovy

* Update karmaExecuteTests.groovy
2018-11-08 12:15:15 +01:00
Thorsten Duda
3896177b3e
Merge branch 'master' into pr/changeDocumentIdInCommonPipelineEnv 2018-11-08 11:00:28 +01:00
Marcus Holl
e354da8a05 Merge remote-tracking branch 'github/master' into HEAD 2018-11-07 11:44:15 +01:00
Christopher Fenner
ce362f4ae9
correct usage of commonPipelineEnvironment (#369) 2018-11-07 11:37:18 +01:00
Oliver Nocon
5ec37170fc
cloudFoundryDeploy - blue-green plugin extensions (#355)
* cloudFoundryDeploy - blue-green plugin extensions

* support blue-green application cleanup with new plugin flag
* enhance error reporting in case no app name is available

* include PR feedback
2018-11-07 10:39:30 +01:00
Marcus Holl
420746463e Remove return value from transportRequestCreate
it is contained in the common pipeline environment.
2018-11-06 15:37:11 +01:00
Marcus Holl
b8c0c8e6b3 Cache transport request Id in common pipeline environment 2018-11-06 15:36:39 +01:00
Marcus Holl
76be6f0b24 Cache change document id in common pipeline environment 2018-11-06 14:36:40 +01:00
Marcus Holl
88c4b3e967 Merge remote-tracking branch 'github/master' into HEAD 2018-11-05 13:54:10 +01:00
Marcus Holl
3cb958b740 Merge remote-tracking branch 'github/master' into HEAD 2018-11-05 13:30:43 +01:00
Marcus Holl
bb0953dab9 Fix codeclimate remarks 2018-11-05 12:59:40 +01:00
Marcus Holl
66332b67af fix codeclimate issues 2018-11-05 12:51:33 +01:00
Marcus Holl
5d444aa4ba Fix codeclimate remarks 2018-11-05 12:33:41 +01:00
Marcus Holl
b53f260fd3 Fix codeclimate remarks 2018-11-05 12:26:48 +01:00
Christopher Fenner
aa5ad1c0d1 dockerExecute: handle stashContent (#332)
* handle stashed content
* add utils
2018-11-05 11:24:25 +01:00
Marcus Holl
8c07f69946 Fix identations 2018-11-05 10:22:44 +01:00
Marcus Holl
12a41cfad2 Fix identations 2018-11-05 10:19:57 +01:00
Marcus Holl
4b8b1abb1c Merge remote-tracking branch 'github/master' into HEAD 2018-11-05 09:08:21 +01:00
Marcus Holl
d410ddea59 Remove prerequisites from docu inside step
--> will be contained in the md file instead.
2018-11-02 15:04:12 +01:00
Marcus Holl
2e8a9db02c script = this as fallback instead of map with cpe of current step
o The map does not provide access to e.g. sh, echo.

o this has the same cpe as property as it is constructed with the
current map approach.
2018-10-31 12:52:45 +01:00
Oliver Nocon
2dbfeed813
Merge branch 'master' into pr/adjustConfigKeySetsInSteps 2018-10-31 10:43:38 +01:00
Marcus Holl
ea23d65594 Merge remote-tracking branch 'github/master' into HEAD 2018-10-30 17:01:19 +01:00
Marcus Holl
11d34c2157 Step called without script: webanalytics 2018-10-30 16:24:48 +01:00
Marcus Holl
c03a75da9f Ensure script is mandatory parameter
... only in case a step uses the script at all.
2018-10-30 16:24:47 +01:00
Marcus Holl
1624001826 Introduce header comment handling
... and several other fixes
2018-10-29 12:57:10 +01:00
Marcus Holl
9532e1c05d WIP: header comment 2018-10-29 08:09:34 +01:00
Marcus Holl
a8eb963ac2 Support javadoc like comments for parameters specified in a config key list
up to now we onls took withMandatory parameter sections into account
2018-10-26 12:14:03 +02:00
Marcus Holl
17e84b5deb Adjust naming for config keys for step newmanExecute 2018-10-26 10:15:22 +02:00
Marcus Holl
f36137930e Adjust naming for config keys for step testsPublishResults 2018-10-26 10:12:40 +02:00
Marcus Holl
749ddbef71 Adjust naming for config keys for step batsExecuteTest 2018-10-26 10:11:55 +02:00