1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-01-06 04:13:55 +02:00
Commit Graph

400 Commits

Author SHA1 Message Date
Marcus Holl
59d0c120f2 Adjust naming for config keys for step cloudFoundryDeploy 2018-10-26 10:10:24 +02:00
Marcus Holl
a4c0bb8d2b Adjust naming for config keys for transportRequestUploadFile 2018-10-26 10:09:14 +02:00
Marcus Holl
5a75a4cc0c Adjust naming for config key sets in transportRequestCreate 2018-10-26 10:09:12 +02:00
Marcus Holl
75ae0e5f03 add field GENERAL_CONFIG_KEYS to artifactSetVersion step 2018-10-26 10:08:26 +02:00
Marcus Holl
fad3191de1 Introduce GENERAL_COMFIG_KEYS for seleniumExecuteTests 2018-10-26 10:07:31 +02:00
Marcus Holl
0013c5db0e general config key for step healthCheckExecute 2018-10-26 10:06:34 +02:00
Marcus Holl
8a2fabf6d9 Adjust naming for config key sets in checkChangeInDevelopment 2018-10-26 10:05:23 +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
Marcus Holl
f8c48e980d @value -> @possibleValues 2018-10-25 10:02:17 +02:00
Marcus Holl
776cfdf50b Merge remote-tracking branch 'mholl/pr/cts' into HEAD 2018-10-25 09:07:26 +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
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
0c3203bb44 Merge remote-tracking branch 'mholl/pr/cts' into HEAD 2018-10-23 15:46:11 +02:00
Marcus Holl
a2393c3f92 merge remote-tracking branch 'github/master' into HEAD 2018-10-23 09:08:59 +02:00
Marcus Holl
b2988c904c Condence common code wrt backend type in cm steps 2018-10-23 09:02:20 +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
Florian Wilhelm
b657dc6a29
Explicitly call toString() on stepParameters (#348) 2018-10-17 12:27:24 +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
0831a244d3 switch to factory methods when a config is also provided. 2018-10-17 11:39:26 +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
b83222726a enhance commonPipelineEnvironment with additional information (#344)
* enhance commonPipelineEnvironment with additional information

add additional git information to `commonPipelineEnvironment`:
* https url
* git branch
* github organization
* github repository

* rename github-related variables

* rename github-related variables
2018-10-17 09:54:04 +02:00
Marcus Holl
85f5a7e8ae Adjust docu for checkChangeInDevelopment 2018-10-16 15:44:41 +02:00
Oliver Nocon
8bea9b40aa add telemetry to healthExecuteCheck 2018-10-15 14:18:47 +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
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
0c8f45544c Remove return value (boolean) from checkChangeInDevelopment 2018-10-11 10:18:39 +02:00
Christopher Fenner
8071071e9d set return type 2018-10-11 09:10:26 +02:00
Christopher Fenner
01365295cb remove step return types 2018-10-11 09:10:26 +02:00
Marcus Holl
479b1d483a Merge remote-tracking branch 'github/master' into HEAD 2018-10-11 08:36:18 +02:00
Marcus Holl
27ecf37424 Merge remote-tracking branch 'github/master' into HEAD 2018-10-11 08:26:58 +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
Christopher Fenner
3d2bc3f892
add missing parameter (#164) 2018-10-10 12:05:41 +02:00
Marcus Holl
203be37f75 Merge remote-tracking branch 'github/master' into HEAD 2018-10-09 16:57:26 +02:00
Marcus Holl
b6a205f9aa Merge remote-tracking branch 'github/master' into HEAD 2018-10-09 15:31:43 +02:00
Christopher Fenner
e0aa95645b remove unnecessary import 2018-10-09 15:25:46 +02:00
Christopher Fenner
bab4772704 remove unnecessary imports 2018-10-09 15:25:46 +02:00
Christopher Fenner
475b977f17 remove unnecessary import 2018-10-09 15:25:46 +02:00
Christopher Fenner
0bc21ed7e2 remove unnecessary import 2018-10-09 15:25:46 +02:00
Christopher Fenner
e068c52f6c remove unnecessary import 2018-10-09 15:25:46 +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
130fe6a941
Merge branch 'master' into pr/swaPushOldConfigUsed 2018-10-08 09:42:33 +02:00
Christopher Fenner
f10a8c6246
dockerExecuteOnKubernetes: fix stash overriding (#329)
* dockerExecuteOnKubernetes: fix stash overriding

* update comment
2018-10-05 10:51:01 +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
799810a987 Accept utils instance from outside (for testing) 2018-10-02 10:56:04 +02:00
Marcus Holl
54ecc7d755 condence common code for getting change document id 2018-09-28 15:54:20 +02:00
Marcus Holl
058c6c0d9a Condence common code for cm scenario 2018-09-28 15:38:29 +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
18d2753208 Remove explict getters and setters from common pipeline environment
We get getters and setters generated automatically.
2018-09-27 15:46:06 +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
Marcus Holl
ddbb09fa66 transport request create CTS 2018-09-25 09:27:11 +02:00
Marcus Holl
f34308ffe0 upload file to transport for CTS use case 2018-09-24 15:08:01 +02:00
Marcus Holl
341cb97c25 Revert "Remove explict getters and setters from common pipeline environment"
This reverts commit d22af0f9d4.
2018-09-21 09:24:47 +02:00
Marcus Holl
141210beb2 Expose backendType for uploading files into transports 2018-09-18 15:56:35 +02:00
Marcus Holl
cfd25198b0 transportRequestUploadFile step 2018-09-18 14:49:06 +02:00
Marcus Holl
d22af0f9d4 Remove explict getters and setters from common pipeline environment
We get getters and setters generated automatically.
2018-09-17 16:51:13 +02:00
Marcus Holl
85376d951f remove inside work tree check
since this is implicitly checked by isWorkTreeDirty.
2018-09-13 14:34:26 +02:00
Marcus Holl
23c838d6f1 [refactoring] artifact set version: check for clean worktree 2018-09-07 12:38:14 +02:00
Marcus Holl
8db2aaf5f0 don't use load step defaults as implicit factory method. 2018-09-07 10:08:16 +02:00
Marcus Holl
5f66113c37 no script in method signatures. 2018-09-06 16:45:30 +02:00
Marcus Holl
2b95be12aa Ensure proper initialization of ConfigurationHelper
Up to now we had two constructors, one with a Script and the other one with a map holding some defaults.
In case the constructor with the map was called the step name was uninitialized
2018-09-06 16:21:38 +02:00
Christopher Fenner
7b49858233
Merge branch 'master' into pr/artifactSetVersionStreamlineGitHandling 2018-09-05 11:46:11 +02:00
Christopher Fenner
e65ec98144
correct indent 2018-09-05 11:44:40 +02:00
Marcus Holl
12d8f48c38 Do only what is really needed inside the body of sshAgent
- there is no need to do the git commit inside the body of sshAgent
- there is no need to do the git tag inside the body of sshAgent

- side catch: availablility of git user name and git user email is
  checked at its own. If one is missing the other may be present
  ~somehow~ in the configuration.
2018-09-04 17:04:07 +02:00
Florian Wilhelm
50ac5b0ac9
Execute MTA builder in Docker 2018-09-04 11:32:54 +02:00
Marcus Holl
138a41f02a Merge remote-tracking branch 'github/master' into work 2018-09-04 10:42:36 +02:00
Marcus Holl
26ecbe5013 Provide option for registering file for read yaml.
We can now registering files to JenkinsReadYamlRule by
providing the file name alongside with the expected content
(or e.g. an expception)

With that change it is possible to remove pwd statements
from mtaBuild. These statements was used in order to pass
a temporary directory inside the mtaBuild (code under test).
This is not needed anymore since we can register the files
directly.

Having pwd implies working with absolute pathes which is
also a no-go when working with docker, since the absolute
pathes inside and outside docker are normally not the same.

For pathes relative to a build root directory it is rather
easy to keep the pathes consistent the same.

Adjust sources according to registering yaml file to jenkins rule.

For mtaBuild this means also: get ride of absolute pathes for denoting the yaml file.
Having absolute pathes makes it difficult/impossible to work also with dockerized versions
of mtaBuild since the absolute pathes are most probably not the same inside and outside
the docker container, but the relatives pathes can be kept the same easily.
2018-09-03 15:43:15 +02:00
Christopher Fenner
55ee41a23c
Merge branch 'master' into pr/alignMixinOrder 2018-08-30 11:04:16 +02:00
Christopher Fenner
704c5a1a17
neoDeploy: add web analytics (#269)
* add web analytics

* Update neoDeploy.groovy

* Update neoDeploy.groovy
2018-08-30 11:03:34 +02:00
Marcus Holl
b7e19da716 align step stage mixin order among pipeline steps 2018-08-29 10:31:01 +02:00
Marcus Holl
21b8980153 Merge remote-tracking branch 'github/master' into HEAD 2018-08-23 14:04:50 +02:00
Ramachandra Kamath Arbettu
c84114c3df
Enable support for executing on K8S as a step (#231)
* Create executeDockerOnKubernetes.groovy

* Update dockerExecute.groovy

* Create SysEnvTest.groovy

* Update default_pipeline_environment.yml

* Update executeDockerOnKubernetes.groovy

* Create utils object

* update docker image

* Update mavenExecute.groovy

* Use pipeline-lib than piper

* Check container name

* Always change ownership to 1000

* Check for map

* Fix command

* Move chmod to docker execute

* Use generic name for the pod

* runAsPod has been added

* Return false if script has no k8smapping

* fix syntax error

* Null checks

* Returnn dockerImage name

* Check method body

* Return container name

* Cleanup echos

* Use runAsPod

* Rename step

* Use official jenkins JNLP agent image

* Construct containersMap

* Check if kubernetes plugin is active

* Support JaaS

* pass script object

* Move configuration to default section

* Use generic flag to check if running in k8s

* fix jnlp agent name

* Solve travis errors

* Improvements to config and changes to name of the method

* Improvements to config

* Fix type

* Rename stash config

* add import

* Fix map order

* Fix jnlp agent name

* cleanup config usage

* Check if config is enabled

* Use nested k8s mapping

* Support custom docker workspace and move flag to env

* Feature/k8s stage (#1)

* Use nested k8s mapping

* Support custom docker workspace and move flag to env

* Check dockerOptions value

* Support local execution

* Add tests for dockerExecute

* Move config to step and Fix tests

* Use step configuration while running as a pod

* Streamline parameter and config initialization

* Streamline parameter and tests

* Cleanup and align variable name

* Use default JNLP agent if one not defined in config

* Add tests for runInsidePod. Ensure lowercase container names.

* Improve tests and remove unused code block

* Fix permission issues

* Perform stashing and unstashing inside container

* Use custom jnlp agent due to user id restriction

* Fix tests after jnlp agent change

* Address review comments

* Initialize script to default value if null

* Address review comments

* Update exeception handling and documentation

* Improve documentation

* correct indent

* Link documents to the index page

* Merge containerExecute and dockerExecuteOnKuberenetes step and address comments.

* Update dockerExecute.md

* Update dockerExecuteOnKubernetes.md

* Update default_pipeline_environment.yml

* update documentation

* Update documentation. Use annotation for singleton

* Update DockerExecuteOnKubernetesTest.groovy

* Update dockerExecute.groovy

* Update dockerExecuteOnKubernetes.groovy

* Improve documentation and test case names

* neoDeploy: switch to chained ConfigurationHelper (#244)

* switch neoDeploy to chained ConfigurationHelper

* update imports

* Improve tests

* Address review comments

* Improve documentation

* made dockerImage non-mandatory parm, improved test

* add comment regarding userid assumption
2018-08-21 15:45:59 +02:00
Marcus Holl
044e940dec No need for manipulating origin url
the gitSshUrl can be provided directly to the push call. This avoids footprint on the build
servers git repository.
2018-08-21 13:39:48 +02:00
Marcus Holl
6c6f106f26 Avoid several sh calls for consecutive git calls. 2018-08-21 13:39:48 +02:00
Marcus Holl
0cb16d43ce artifactSetVersion: use gitUtils#insideWorkTree
rather than checking for existing .git folder. An existing .git folder is a necessarry, but not a sufficient
condition here.

Adapting the test is not necessary. The gitUtil itself is not mocked, but the underlying sh calls are
already mocked accordingly.
2018-08-21 08:23:05 +02:00
Marcus Holl
3a72d16185 neoDeploy with archvive from CPE 2018-08-17 15:46:46 +02:00
Ramachandra Kamath Arbettu
2716054392 Make gitSshUrl non-mandatory (#246)
* Update artifactSetVersion.groovy

* Update artifactSetVersion.groovy

* Update artifactSetVersion.groovy

* fix build

* Avoid updating configuration map outside configuration helper
2018-08-16 09:43:32 +02:00
Christopher Fenner
6007f54074
use new config handler in steps (#253)
* use new config handler

* use new config handler

* add reporting

* Update checksPublishResults.groovy

* remove unused ConfigurationMerger methods

* fix typo

* revert changes on script loading

* remove outdated test case

* Add missing import
2018-08-15 11:53:28 +02:00
Oliver Nocon
17ee927807
batsExecuteTests - add step for executing bats-core (#254)
details are available in the documentation contained in this PR
2018-08-15 11:41:01 +02:00
Christopher Fenner
12637119b9
swtich stage/step config loading to correct order (#250) 2018-08-15 10:37:34 +02:00
Christopher Fenner
8e40a4cf62
Merge branch 'master' into pr/trUploadFileApplicationIdFromConfiguration 2018-08-15 09:59:25 +02:00
Marcus Holl
45f4952c71 Read applicationId also from configuration 2018-08-15 09:48:59 +02:00
Oliver Nocon
be1d97cb5a cloudFoundryDeploy - update stshing behavior
adapt stashing behavior according to #230
2018-08-15 09:46:08 +02:00
Christopher Fenner
5a742a310f
neoDeploy: switch to chained ConfigurationHelper (#244)
* switch neoDeploy to chained ConfigurationHelper

* update imports
2018-08-15 09:26:38 +02:00
Christopher Fenner
c538e896f3
Merge branch 'master' into CCFenner/newman 2018-08-09 14:25:22 +02:00
Oliver Nocon
71f7f05427
add telemetry reporting to steps (#243)
add telemetry to all steps using ConfigurationHelper.
Other steps need to be switched to ConfigurationHelper first.

update docs
2018-08-09 11:35:33 +02:00
Thorsten Willenbacher
9dfc7fcd01 refactor withCredentials to ChangeManagement util class
fix tests to match refactoring
2018-08-09 11:03:30 +02:00
Christopher Fenner
059268459a
Merge branch 'master' into CCFenner/newman 2018-08-09 10:34:00 +02:00
Oliver Nocon
65b582dc9d
artifactSetVersion - add new artifact types & cleanup (#242)
* artifactSetVersion - add new artifact types & cleanup

added:
* dlang
* golang
* npm
* pip
* scala

* add documentation update
2018-08-08 22:21:26 +02:00