1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
Commit Graph

681 Commits

Author SHA1 Message Date
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
Marcus Holl
c7b05e9294 Adjust naming for config keys for step transportRequestRelease 2018-10-26 10:11:16 +02:00
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
Christopher Fenner
d083ef6e39
Update newmanExecute.groovy 2018-08-08 14:23:29 +02:00
Christopher Fenner
240df88882
add stashing & private test repositories 2018-08-08 11:22:08 +02:00
Oliver Nocon
cd4a9f226e
Add collection of library telemetry data (#239)
* add telemetry collection
* add telemetry reporting for first steps
* fix documentation formatting
2018-08-06 08:57:36 +02:00
Marcus Holl
fc9bc9257a
Merge branch 'master' into pr/nestedConfigUploadFile 2018-08-03 08:56:50 +02:00
Marcus Holl
3d78affc3b
Merge branch 'master' into pr/transportRequestUploadFilewithMtarFileFromCPE 2018-08-03 08:49:05 +02:00
Marcus Holl
0bac7ac27e Take mtarFilePath in commonPipelineEnviroment into account
This allows the steps to interact without using return values (which is not possible in
declarative pipelines). On the other hand we have depencencies between the steps based
on the status of the commonPipelineEnvironment.
2018-07-31 16:55:15 +02:00
Marcus Holl
f2e0e81802
Merge branch 'master' into fix/rolebackNeoDeployChange 2018-07-31 16:41:36 +02:00
Marcus Holl
fb431ff27e [fix] provided nested config for retrieving transport request id in upload file 2018-07-31 10:25:32 +02:00
Oliver Nocon
745b6d471d
fix issue with resource naming conflict (#234) 2018-07-30 12:06:35 +02:00
Oliver Nocon
d844b23b90
add cloudFoundryDeploy step (#173)
* add cloudFoundryDeploy step
* added cf-cli docker image
* support existing parameters
* support check script with flexible STATUS_CODE
* add mandatory parameters
* fix compatibility handling
* address PR feedback
* fix access to smokeTest script
* make credentialsId mandatory to avoid NPE
2018-07-30 09:28:24 +02:00
Marcus Holl
d49a9ad68c Revert "remove the tool descriptor from neo deploy"
This reverts commit c3c7d8b142.
2018-07-27 14:09:08 +02:00
Florian Wilhelm
0a86c8534d
Improve check for batch mode in mavenExecute (#226)
The old naive check fails if an argument starts with '-B'. Now we use a
regular expression, which should correctly match if batch mode was
already supplied, and add it if not.
2018-07-26 16:03:05 +02:00
rodibrin
9e547cd605
Merge branch 'master' into pr/neoimage 2018-07-26 10:04:20 +02:00
Roland Stengel
c3c7d8b142 remove the tool descriptor from neo deploy 2018-07-25 15:23:56 +02:00
Marcus Holl
f16d5c766b Merge remote-tracking branch 'github/master' into HEAD 2018-07-25 12:26:20 +02:00
Marcus Holl
2a851abdfd Merge remote-tracking branch 'github/master' into HEAD 2018-07-23 09:41:02 +02:00
Marcus Holl
43a9dcbcfd Do not fail immediatly in case commit history does not contain a changeDocumentId
we emit a log message and fail later at withManadotoryProperty check.
2018-07-19 10:26:34 +02:00
Marcus Holl
1e0fa0799e [fix] Remove early check for mandatory param 'changeDocumentId'
otherwise we will never try to read the change document id from commit history.
2018-07-19 10:09:24 +02:00
Marcus Holl
3effe404b0 Merge remote-tracking branch 'github/master' into HEAD 2018-07-19 08:54:57 +02:00