1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-01-18 05:18:24 +02:00

589 Commits

Author SHA1 Message Date
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
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
Marcus Holl
52f3287cb3 Merge remote-tracking branch 'github/master' into HEAD 2019-03-15 15:01:12 +01:00
Marcus Holl
9cf49a51cb Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:36:10 +01:00
Marcus Holl
d4b0549f74 Merge remote-tracking branch 'github/master' into HEAD 2019-03-14 13:07:30 +01:00
Daniel Kurzynski
9055dd1ea0
Merge branch 'master' into pr/neoDeployParamChecksEarly 2019-03-14 12:52:55 +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
7e1c171685
Merge branch 'master' into pr/fixStageDoc 2019-03-13 15:36:28 +01:00
Marcus Holl
201b075cb5 Merge remote-tracking branch 'github/master' into HEAD 2019-03-13 14:36:34 +01:00
Thorsten Duda
28cf46a2fc fix parameter order for instance and client 2019-03-13 14:20:25 +01:00
Marcus Holl
513ceee8cf
Merge branch 'master' into pr/fixStageDoc 2019-03-13 12:39:59 +01:00
Christopher Fenner
57911a5835
Merge branch 'master' into pr/fixStageDoc 2019-03-12 11:26:42 +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
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
yemengsap
38c5a0d779 Add npmExecute step (#491) 2019-02-21 19:14:48 +01:00
Oliver Nocon
23d08f0f38
Merge branch 'master' into pr/unstashSkipNull 2019-02-21 16:29:21 +01:00
Florian Wilhelm
ada3ed909d
Don't print messages in all uppercase letters (#531) 2019-02-21 15:46:17 +01:00
Florian Wilhelm
02afb22c74
Change telemetry disabled message to be more kind (#530)
Please, don't use exclamation marks in user interfaces.
2019-02-21 13:56:20 +01:00
Marcus Holl
827d8aa32d imagePull --> pullImage 2019-02-19 11:35:03 +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
Florian Wilhelm
d2b6be4e25
Configure default mta build image to ppiper/mta-archive-builder (#515) 2019-02-15 13:48:34 +01:00
weloli
08edf94bd0 Merge branch 'master' of https://github.com/weloli/jenkins-library into pr/fixStageDoc 2019-02-15 09:31:28 +01:00
Marcus Holl
0ea6bdc05c Accept unix style line endings. 2019-02-14 13:52:06 +01:00
Marcus Holl
66fbed80ba Test for rfc create transport sanity checks. 2019-02-14 12:29:13 +01:00
Marcus Holl
d5707db38b Test for rfc create transport requets fails. 2019-02-14 12:22:45 +01:00
Marcus Holl
8aa22d179a Denote use case in test name for creating transport request 2019-02-14 12:04:45 +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
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
weloli
72adaf3dd5 Merge branch 'master' of https://github.com/weloli/jenkins-library into pr/fixStageDoc 2019-02-13 14:35:56 +01:00
Marcus Holl
5f07490cf2 Unstash in loop only if identifier is available
In case unstashAll is called with a Set containing a null value we get
an ugly message in the log:

Unstash failed: null (Could not instantiate {name=null} for UnstashStep(name: String):

This can be avoided by unstashing only in case we have an ID.
2019-02-13 14:31:25 +01:00
weloli
8d48582033 adapt test to changed expectation 2019-02-13 14:01:56 +01:00
Marcus Holl
2d7079a8c9 Merge remote-tracking branch 'github/master' into HEAD 2019-02-13 09:05:28 +01:00
Marcus Holl
ff88bfa79f Merge remote-tracking branch 'github/master' into HEAD 2019-02-13 08:51:26 +01:00
weloli
e4c73d0100 add test to prove wrong documentation 2019-02-12 16:56:06 +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
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
Marcus Holl
8b13164d74 [fix] remove inapproriate package statement (#497)
The test class is in the default package and not in a package 'steps'.
2019-02-08 12:03:41 +01:00
Marcus Holl
fe147eff81 Handle parameters as env vars instead of options for RFC upload
options are not supported for dockerExecuteOnKubernetes, but
environment variables are. Hence we switch to environment variables
which works on both, plain docker and on kubernetes.

Using env vars is the cleaner approach anyway.
2019-02-08 12:03:05 +01:00
Marcus Holl
d369d3cd4a Remove println statements from tests
Nobody will have a look at println statements emitted by tests. Proper way is to assert.

* log is empty, not sure if it makes sense to assert that the log is empty.
* result is already asserted, so everything is fine there ...
2019-02-07 17:03:32 +01:00
Marcus Holl
6b4d2ba33e Remove println statements from default registered sh closure
We should try to avoid promting statements to the log during tests. This is basically
some kind of manual/visual checking of conditions. This does not work since in most cases
nobody scans test logs manually/visually. I think this is often a smell for missing assertions.
2019-02-07 16:58:49 +01:00
Marcus Holl
8d1786fa8d DevelopmentInstance for upload file rfc 2019-02-07 11:46:45 +01:00