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

539 Commits

Author SHA1 Message Date
Marcus Holl
b486f32dc1 Better readable rule names: stepRule 2019-01-23 14:54:50 +01:00
Marcus Holl
9b1397e998 Better readable rule names: loggingRule 2019-01-23 14:54:50 +01:00
Marcus Holl
994e1f1692 Better readable rule names: shellRule 2019-01-23 14:54:49 +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
Marcus Holl
c8c96f11e3 Escape blanks when contained in env values for docker 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
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
Marcus Holl
d6372d5d96 Merge remote-tracking branch 'github/master' into HEAD 2018-12-19 13:18: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
Marcus Holl
45170e979e Adapt mta build test test JenkinsShellCallRule
a lot of code can be replaced by configuring the JenkinsShellCallRule accordingly. At the time when
this test was provided there was not JenkinsShellCallRule ...
2018-12-12 12:14:14 +01:00
Marcus Holl
bf881bfc13 Merge remote-tracking branch 'github/master' into HEAD 2018-12-12 12:05:24 +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
Marcus Holl
51afc894e5 Implement hashCode/equals/toString for JenkinsShellCallRule
* toString is helpful for troubleshooting during developing tests
* equals/hashCode are required in case somebody would like to register
  some responses again (e.g. register something valid almost all the time, and
  register something more specific for a certain test).
2018-12-10 16:23:24 +01:00
thorstenwillenbacher
4d06cf151e
Merge branch 'master' into pr/moreLoggingAndFailfastInMtaBuild 2018-12-06 15:12:46 +01:00
Marcus Holl
dc780b1248 [fix] Make regex in test Operating System independent.
We searched for the slash, but on win like operating system we have of course a backslash.
2018-11-28 11:52:37 +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
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
Oliver Nocon
d65a010158
testsPublishResults: Make jUnit pattern more universal (#386)
* Make jUnit pattern more universal
* update documentation & test
2018-11-16 08:57:09 +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
5c4007180c Merge remote-tracking branch 'github/master' into HEAD 2018-11-12 13:11:54 +01:00
Marcus Holl
f48c8a038e Merge remote-tracking branch 'github/master' into HEAD 2018-11-08 15:58:26 +01:00
Marcus Holl
7063aa1249 set build to unstable in case old config framework is used.
protected by feature flag (so we can test it manually already).
2018-11-08 13:11:24 +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
Christopher Fenner
33758e0e81
Merge branch 'master' into pr/cleanWorktreeCheck 2018-11-07 11:47:56 +01:00
Christopher Fenner
10ec0473c1
correct step invokation in tests (#368)
* correct step invokation in tests

* correct step invokation in tests

* correct step invokation in tests
2018-11-07 11:45:38 +01:00
Marcus Holl
e354da8a05 Merge remote-tracking branch 'github/master' into HEAD 2018-11-07 11:44:15 +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
91f84389de The cases removed with the tests here are checked by corresponding step helper tests. 2018-11-06 14:42:03 +01:00
Marcus Holl
76be6f0b24 Cache change document id in common pipeline environment 2018-11-06 14:36:40 +01:00
Marcus Holl
3cb958b740 Merge remote-tracking branch 'github/master' into HEAD 2018-11-05 13:30:43 +01:00
Christopher Fenner
aa5ad1c0d1 dockerExecute: handle stashContent (#332)
* handle stashed content
* add utils
2018-11-05 11:24:25 +01:00
Marcus Holl
daaaadeea9 Remove duplicate step in whitelist 2018-11-02 15:06:25 +01:00
Marcus Holl
01753ccc6d Provide always the script from transport request releaded tests 2018-10-31 12:52:45 +01:00
Marcus Holl
1a62b263fe fix set the build status 2018-10-31 12:52:37 +01:00
Marcus Holl
c9457df43c Improve rule setup 2018-10-31 12:48:49 +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
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
7312f87705 add gaugeExec and pipelineRestart to whitelist for generalconfig 2018-10-26 10:15:24 +02:00
Marcus Holl
0951dcb5d6 Add common step tests wrt to fields defining configuration 2018-10-26 10:15:24 +02:00
Oliver Nocon
1b2fa0398a
Merge branch 'master' into pr/fixTrailingWhitespaces 2018-10-25 16:56:40 +02:00
Oliver Nocon
a8a29b753a
add step githubPublishRelease (#345)
This step allows to easily create a new release for your GitHub repository

* include PR review feedback - add additional labels
* consider return status of api call
2018-10-25 16:56:09 +02:00
Christopher Fenner
5a3be2af49
Merge branch 'master' into pr/fixTrailingWhitespaces 2018-10-25 10:42:19 +02:00
Marcus Holl
dd9e26042d Fix trailing whitespaces 2018-10-25 08:41:50 +02:00
Marcus Holl
5cdd1129a0 Merge remote-tracking branch 'github/master' into HEAD 2018-10-25 08:38:48 +02:00
Christopher Fenner
dabbc724ad
handlePipelineStepErrors: extract error message to template (#350)
* add template for handleStepErrors

* add tests

* use template

* fix indent

* fix typo

* Update HandlePipelineStepErrorTest.groovy

* Update HandlePipelineStepErrorTest.groovy
2018-10-24 13:36:30 +02:00
Christopher Fenner
18078b3bdb add sources for code coverage (#349)
* add sources for code coverage
* hand-in mocked script
* remove obsolete test case
2018-10-24 12:09:51 +02:00
Christopher Fenner
48990bac47
dockerExecute: use docker network to connect sidecar containers (#352)
* use docker network to connect containers

* add container names

* use network-alias instead of name

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update dockerExecute.groovy

* Update DockerExecuteTest.groovy

* remove obsolete parameter

* Update default_pipeline_environment.yml

* Update DockerExecuteTest.groovy

* Update dockerExecute.groovy

* Update DockerExecuteTest.groovy

* Update dockerExecute.groovy

* update docs
2018-10-24 10:13:28 +02:00
Marcus Holl
a2393c3f92 merge remote-tracking branch 'github/master' into HEAD 2018-10-23 09:08:59 +02:00
Marcus Holl
6653b68c0f Merge remote-tracking branch 'github/master' into HEAD 2018-10-18 12:54:32 +02:00
Marcus Holl
d4f9171247 erge remote-tracking branch 'github/master' into HEAD 2018-10-18 11:02:09 +02:00
Oliver Nocon
455461d3c1
add step pipelineRestartSteps (#337)
This step allows to restart a set of steps in order to retry in case of e.g. infrastructure failures which first need to be fixed.

* update documentation
2018-10-18 08:51:48 +02:00
Oliver Nocon
0e5ccabdae
add step gaugeExecuteTests (#340)
* seleniumExecuteTests - fixes
* add step gaugeExecuteTests incl. tests
* add documentation
* add more config options
2018-10-17 16:44:20 +02:00
Oliver Nocon
1f8b94528c
add step mailSendNotification (#336)
This step allows to send email notifications in case of pipeline failures.
2018-10-17 12:05:11 +02:00
Marcus Holl
96cae66bf4 seleniumExecuteTest with void return value on call method 2018-10-17 12:02:19 +02:00
Christopher Fenner
dba20d496c
Merge branch 'master' into pr/stepReturnVoid 2018-10-17 11:50:58 +02:00
Marcus Holl
f47d540aa3 Introduce dedicated factory method for configuration helper 2018-10-17 11:15:37 +02:00
Florian Wilhelm
7f7afdad1a
Implement workaround for incompatible change in cloud foundry API (#343) 2018-10-17 11:01:09 +02:00
Oliver Nocon
17e8390511
add step healthExecuteCheck (#339)
This step allows to perform a basic health check on an installed application.
It verifies that your app has a simple health endpoint available and that there is no error when calling it.
2018-10-12 16:06:41 +02:00
Marcus Holl
9e27fde76e CommonStepTest 2018-10-11 10:18:39 +02:00
Marcus Holl
6dc1f5aa59 Do not check return value of step isChangeInDevelopment 2018-10-11 10:18:39 +02:00
Marcus Holl
378f34da76 Fix return value for transport request create
since now handlePipelineStepError does not return anything anymore we need to put the
corresponding return statement inside createTransportRequest outside the handlinePipelineStepError
closure.
2018-10-11 10:18:39 +02:00
Marcus Holl
479b1d483a Merge remote-tracking branch 'github/master' into HEAD 2018-10-11 08:36:18 +02:00
Marcus Holl
11a7b24ce8 STEP_NAME test
Asserts that each step (modulo whitelist) comes with a STEP_NAME
field.
2018-10-11 08:24:33 +02:00
Marcus Holl
203be37f75 Merge remote-tracking branch 'github/master' into HEAD 2018-10-09 16:57:26 +02:00
Marcus Holl
b8ff2a5285 Merge remote-tracking branch 'github/master' into HEAD 2018-10-09 16:30:55 +02:00
Marcus Holl
b6a205f9aa Merge remote-tracking branch 'github/master' into HEAD 2018-10-09 15:31:43 +02:00
Christopher Fenner
d6f47e802a
executeDockerOnKubernetes: support workspace/container stashing for sidecar case (#330)
* simplify parameter handover

* extract default contaner name and map

* condense pod execution methods

* simplify closure handling

* fix map issue

* simplify

* stash only if needed

* fix test case
2018-10-08 11:54:13 +02:00
Christopher Fenner
34b675a030
handle test repositories (#324)
* handle test repositories

* use GitUtils

* add test case

* fix test cases

* return stash name

* handle seleniumExecuteTests step

* Revert "handle seleniumExecuteTests step"

This reverts commit 2b33d274fe.

* handle seleniumExecuteTests step

* add import of GitUtils
2018-10-08 11:30:42 +02:00
Oliver Nocon
aeb814fc2b
Merge branch 'master' into pr/noExplictGetterAnDSettersInCommonPipelineEnvironment 2018-10-08 09:45:14 +02:00
Oliver Nocon
0ee27774f6
Merge branch 'master' into pr/assertOrderOfGitCommands 2018-10-08 09:43:16 +02:00
Oliver Nocon
130fe6a941
Merge branch 'master' into pr/swaPushOldConfigUsed 2018-10-08 09:42:33 +02:00
Oliver Nocon
7a961ef38e
seleniumExecuteTests - add step to run Selenium tests (#318)
It comes with an extension to executeDocker and executeDockerOnKubernetes to run sidecar containers.

This helps to execute Selenium tests using two Docker images:

1. Execution runtime for tests (e.g. node image)
2. Selenium instance which holds Selenium server + browser

* add documentation & some name cleanup
* include PR feedback
* add step documentation to structure
2018-10-04 17:06:42 +02:00
Marcus Holl
afc17707d8 Notify about old config (properties) used 2018-10-02 10:56:13 +02:00
Marcus Holl
ba725dc52f test asserting setupCPE works with config properties file 2018-10-02 10:55:50 +02:00
Marcus Holl
d0d4cac75b Assert that there is no git commit if there should be not commit intentionally (#321)
up to now only the mvn call for setting the version was asserted, but it was not asserted
whether or not there is a commit.
2018-10-02 08:53:21 +02:00
Marcus Holl
252c6da4bd Ensure the order of the git commands
Up to now we checked for git commands, but the order was not taken into account.
Test would pass even if the commit happens before git add.

Now the order of the git commits is asserted.
2018-10-01 13:56:59 +02:00
Marcus Holl
0e6f44a4ed Switch default for changeManagement.type to NONE
before we had SOLMAN.
2018-09-28 14:16:20 +02:00
Marcus Holl
2d779233cc Swich for switching off cm integration 2018-09-28 14:16:19 +02:00
Marcus Holl
01b03f0df3 [refactoring] Reduce number of sh calls 2018-09-27 16:18:46 +02:00
Marcus Holl
3e556f4afb test asserting setupCPE works with config properties file 2018-09-27 15:46:06 +02:00
Marcus Holl
f14781d913 Report all missing mandatory parameters instead of only the first one 2018-09-27 11:13:47 +02:00
Marcus Holl
09e4e999a2 Merge remote-tracking branch 'mholl/pr/shStdoutOrReturnStatus' into HEAD 2018-09-27 09:10:06 +02:00
Marcus Holl
752993aefa Merge remote-tracking branch 'github/master' into HEAD 2018-09-27 08:24:04 +02:00
Marcus Holl
56d150932f release transport CTS support 2018-09-25 12:34:52 +02:00
Marcus Holl
4d7274ee45 Introduce backend type for releasing transports 2018-09-25 10:50:05 +02:00